Starting out my blog a few years ago first required picking one of the available platforms. I can still remember looking around for setups and finding that there were so many to choose from. My only real requirements for the blog were easy to list:
Static site generator
Easy to interface with git and Emacs
This blog post is about the setup I picked, how I use it and why I think it has been a good idea.
I don’t quite remember why I decided for Nikola rather than Pelican but the perceived differences were so small that I settled for first that started an empty site with as few commands as possible. When my first nikola init succeeded and I was able to view the site in Firefox, I had no reason to leave again.
Indeed my experience with all of Nikola is a pretty pleasant one. Even when I struggled with the program, mailing list support was always able to solve my problems in very short times.
Editing the posts in Emacs allows me to use a powerful text environment controllable by keystrokes only. As much as possible I want to keep my fingers on the keyboard and not use the mouse. Combining a few out of the box modes of Emacs gives me the environment I am very productive in. Editing post, I use the following Emacs extensions.
The most basic support is M-x auto-fill-mode to automatically refill the text while I am typing. This allows me to fully concentrate on the text while entry.
Selecting a target language with M-x ispell-change-dictionary and running M-x flyspell-mode enables an automatic spelling checker during entry.
When I cannot think of a fitting english word, I use M-x dictcc to call up an online translation service to find a good starting candidate.
The WordNut package is pleasant way to broaden my horizon while writing in a foreign language. Doing a M-x wordnut-search starts the journey into the english language in a separate buffer. There are a few hot keys defined in this mode like Enter running a WordNut lookup on the current word and l to go back from following such a link. The character o pops up the overview for the construct around point. In order to work this requires the wordnet package. In a Debian based GNU/Linux it should be enough to do
dzu@krikkit:~$ sudo apt install wordnet
And because I keep the blog posts in a git repository, I use the wonderful magit interface allowing a few keystrokes to check in changes. Magit is by itself a wonderful tool for all of my git projects. Accessing it from the same environment the posts are written in, makes regular tasks an absolute breeze.