I am now at the exciting part of the project where the general skeleton is worked out and I can now start adding features. Here is a list of stuff that is coming up:
Server Configuration
- Actually get my generated html pages on the server You are reading them now
- HTTPS configuration with Lets Encrypt.
GenSite Features
- Copying static files to the build directory.
- I made a mistake in design right at the start, where articles are written into the build directory in a subdirectory that corresponds to the month and year they were created I stole this scheme from WordPress, although it probably predates them as well. I thought this was a good idea but now I realize it means that I can't put static files (images, etc) alongside the source files and expect them to stay together in the build directory. I'll will change the build process so that the relative directory of the source file is maintained in the build dir. The new article management script will help to keep things organized.
- Resizing images and creating thumbnails and hidpi versions. Hopefully python won't be too slow.
- Deployment scripts (using rsync, probably)
- Easy article management
- Better site creation and management of more than one site
- Think about how multiuser sites would work (a limitation in the current design is that it is basically single user - single computer really)
- General reorganization of code now I understand Python project management a bit better
- Some sort of simple menu instead of an index link on the top of every page. I am willing to break my rule about client side javascript for a nice looking menu.
- Some sort of byline or subtitle support (or both) to at least display the publication date on each article.
- Add the concept of tags or different kinds of articles
- Maybe special handling of book reviews, so that the title, author, publisher, ISBN, etc are part of the metadata of the article and gensite can format an info-panel automatically.
- Actually documentation of how this all works, and the fancy extra markdown functionality I have added to support Tufte.css.
That's enough for now.