As I mentioned before, I have now replaced my blogging engine with Pelican. Now that I'm mostly done dealing with ensuring that everything behaves more-or-less as before, it's time to talk about Bash.
I don't really remember why I wanted to write my blog using Bash. In general, I think it was a combination of the following factors:
- I didn't want to install PHP. I have way too many memories of script-kiddies constantly probing my server, and that was never fun. Sure, I keep my server up-to-date, but why risking it? The less entry points for wannabe crackers, the better.
- I didn't really thought it would be possible. Sure, writing it at first was kind of fun, but once I started writing triple-nested-quotes (all of which needed to be escaped properly) things got weird. I probably should have called it a day at that point, but I was close enough to my goal to make it worth it to continue till the end.
- It was a good conversation starter - if you want to get a conversation rolling, bringing your terrible idea up is not the worst way to do it.
Of course, just because it was not the right tool for the job it doesn't mean that it was that bad. If anything, once I accepted that the heavy lifting should be made in a "proper" programming language (in this case, perl), using Bash to glue everything together worked surprisingly well.
With all of that in mind, I have now finally
published the source code.
I also plan on some light editing to make it friendlier, and an installation
guide in case you really want to blog in a system where you have no
permissions to install anything. The current template (just as my current
blog) is based on Yahoo's Pure.css library library.
In case you're not familiar with it, Pure.css is a set of CSS modules to make
your project look good and responsive without a lot of effort, similarly to
that other library whose name escapes me right
now Bootstrap. I chose it specifically because
I like to explore alternatives to the most popular projects, and Pure.css ended
up being one of my favorites.