I don’t want a database driven website. I don’t want to have a complicated CSS website. I don’t really want to worry about a site being responsive or not. (Yes, it’s nice, but do I want to worry about it?)
No, all I really want from a blogging platform is a simple core:
Most of these options exist in a variety of systems. Indeed, I’ve previously used “blogophile” for a number of years. However, all of the above isn’t generally available without hacking something together to use with these things. Also their codebases tend to get larger and become abandonware. At which point you’re back to hacking something.
So rather than hack away at modifying something else, I figured I might as well throw something together that does all this for me. Is it great ? No. It’s good enough and that will do. It satisfies all the above requirements though, which is what I’m after.
It’s also 245 lines. It’s short simple enough to extend or hack into something else later. The whole thing code and blog are in a single private git repo.
Directory structure, relative to TLD:
.- Just contains a Makefile and build script
src- used to generate the actual site. Directories preceded by "_" are not replicated over to the server
drafts- draft posts are editted here
posts- when happy with a post, move it here and precede name with YYYYMMDD
_panels- Various pieces of HTML and HTML templates used to build the site
page.html- base html template for pages.
_templates- Template posts
main- used as a build directory. This is replicated onto the server when populated
drafts- draft posts are generated here. Only replicated to staging server
posts- published posts are generated here. Replicated to staging server and to public server.
make stage- builds the site and pushes to stage server using rsync
make publish- builds the site and pushes to public server using rsync
python3-pygments(I use ubuntu, so these are the package names for 20.04)
I’ll probably add small bits and bobs, but not likely to release this anytime soon - it fits my requirements - probably not yours. It’s possible I might at some point though if it grows at all.
If there’s interest though I could detail some of the more interesting bits about how this works. If you’re interested, leave a comment :)