In these days, it is no longer needed to have a knowledge of web development to craft a website yourself. There are thousands of website generator tools that does the job for you, but when your site is hosted graciously on a tilde, it is unfair to burden the admins with your JS bloated “modern” website. That’s when I decided to write a static site generator myself. The heart of the program lies in Org Mode, which saved most of my time.
Not being an expert in colour theory, and not wanting to use pre-existing website templates, I was thinking of ways to select a theme for the website. At last, I chose to use the same colours I’ve been using elsewhere.
The color choices were heavily inspired by the Modus Operandi theme. I intent to change these at a later™ point, but the current ones suffice for now. The modus-themes-list-colors-current and describe-faces commands did most of the work in describing the available faces and their respective colors.
Adding a blog entry was as simple as typing C-c n b, which would prompt for the title of the blog and would add a new entry to the archive, and would create a new copy of the boiler plate titled YYYY-MM-DD-{TITLE}.org. Then you would go on writing it as if it were a normal org file, no messing around with HTML required. Saving the file would automatically run the export function ox-slimhtml-export-to-html, which converts the org specific markdown notations to their HTML notations and saves it to a html file. On killing the buffer, the homepage is updated, with the first N entries from the archive (sorted in reverse chronological order).
The default html exporter had too many features that I did not require, hence I resorted to the use of a third-party org exporter. The difference in the file size shouldn’t matter much, although using the latter on a simple page like this reduced the file size by 50%.
Finally, when I’m satisfied with all my changes, C-c n f runs a shell command which updates the contents of the public_html of remote server with the local copy.
Not wanting to spend much time on the initial entry, I decided to describe the workflow of maintaining a simple website like this.
Looking forward, it becomes a necessity to have a deep understanding web development when you plan to blog on the longer term.