An anecdatum for the thread above:
I’m in the process of reworking my personal web site. (It’s better now! It will be betterer soon!) To do this, because I am a fool, I wrote my own static site generator. The new site has thus involved:
- implementing what’s effectively an in-memory nosql database
- that supports and merges multiple data file formats
- with a flexible data transformation layer
- and an interactive data explorer
- and a data-driven presentation layer that that supports multiple template languages
- with scripting support
- and partials support
- that keeps related script, template, and style fragments together using a custom syntax
- and assembles them dynamically
- and scopes CSS fragments to their related component
- and provides good stack traces that give template line numbers
- with a comprehensive regression test suite
- with a custom test harness
- and RSS feeds
- that gather items from heterogeneous data sources
- and support audio attachments (podcasts)
- all of the above basically done more or less FROM SCRATCH
- with a dev web server
- with live updates on change
- and dynamic metadata retrival for audio files
- and dynamic generation of raster previews of PDFs
…and do you know what the hardest part of the web site project has been, •by far•?
Writing the CSS.