Skip to content

Latest commit

 

History

History
74 lines (59 loc) · 2.66 KB

TODO.md

File metadata and controls

74 lines (59 loc) · 2.66 KB

Version 1.0

  • Handle images in a better way

    • use a library for processing images instead of invoking ImageMagick
    • return some image info like width/height and thumbnail width/height
  • Options for processing images are:

    • libvips (only compiles to a libtool library, gross API)
    • ImageMagick (xboxhueg, don't really know if I'd want to link it statically)
    • GraphicsMagick (similar problems to IM, had problems with certain kinds of images in the past)
    • stb_image/SOIL (don't handle problematic images very well)
    • DevIL (probably the best out of the bunch)
  • Handle some markup

    • backlinks
    • spoilers
    • urls
    • inter-thread backlinks
  • Ajax post forms

    • either use ajaxUpload or roll my own library
  • Handle IPs and bans (env variable REMOTE_ADDR)

    • store post IPs for a while and remove them from the db after a day or so
    • posting cooldown
    • IP bans
    • IP region bans (?)
  • Other

    • purge old files from the database in some other way
    • a preprocessor that lets you configure paths in fileFfi.c, fileFfi.js, project.urp, lighttpd.conf and css file hashes in init.sql
    • convert all the CURRENT_TIMESTAMP into machine time, because SQLite uses UTC
    • handle spoilered images
    • come up with a nice logo
    • add default favicon
    • add default spoiler image
    • add a "maintenance mode" where it is not possible to post
    • set an expire time for cookies, the default value is until the browser session is closed
    • fix unicode handling in post rendering

Wishlist

  • Rewrite the admin panel so that modules can define their own panels without exposing unnecessary data to the rest of the app

  • Buffer library

    • C version if I haven't already done it before
    • javascript version
  • SexpCode

    • desugaring of post reference and quote into SexpCode
    • base tags
    • iterated functions
    • function composition
    • higher arity functions
    • user-defined functions
  • Live preview of post

  • Less relevant news such as scheduled downtime, hidden on the front page but shown in a blotter

  • Multiple files in single post

  • Manage files with an immutable URL (favicon, other stuff)

    • write a key-value interface to File, use symlinks to avoid deleting stuff
    • manage the favicon
    • manage the spoiler fallback image
  • WebM support

    • player
    • thumbnails
  • Admin JSON API

    • OAuth-based authentication
    • endpoints for all functions on the frontend
    • some command line tools to interact with the API