Trying Sphinx for Website¶
As I said in my previous (and initial!) post, I’m not really happy with Hugo for managing my website and blog. It somewhat does the
job and allowed me to finally put Camandro.org
online. But if I want to change something, I’ll need to dig into awful
html code. And… OK, I’ll say it: I hate markdown. There, I’ve
said it. Hence, I’ve started looking into Sphinx (look! even the name is cooler!).
Not that reStructuredText format is really a lot better than markdown; in fact it may be even more difficult to use initially, to figure out how to do very simple things. For example, the syntax for links is really awkward. Or maybe it’s just that I had never used it before. Anyway, the reality is that Sphinx can be much more useful than Hugo for things other than this website. For example, the Linux kernel documentation is actually generated using Sphinx. So, it’s much more useful for me as a kernel hacker to learn how to use Sphinx than Hugo.
Obviously, moving to a new generator is not solving all my problems – after all
I still need to get used to write more and to write more often. Also, I had
some fun just to have an initial Sphinx setup. I’ve started by installing
Sphinx on my laptop. Then, after some initial experiments with it, I found out
about the ablog extension that looked really
handy for blogs management. Unfortunately, the OS I’m running on my personal
laptop (OpenBSD) doesn’t package ablog so I had to manually download it and tell
conf.py file where to find it so that it could be loaded:
sys.path.append(os.path.abspath('<ablog PATH>')) sys.path.append(os.path.abspath('<python-feedgen PATH>')) extensions = [ 'ablog', 'sphinx.ext.intersphinx', ]
append() above is related to python feedgen, a dependency required by ablog to generate
RSS feeds. I had to download it too.
Finally, it was simply a matter of playing a bit with the ablog configuration and things started to make sense. The end result: this website! Yeah, probably not the most amazing thing on the web, but it suites my (current) needs. I may keep tweaking it’s configuration parameters once in a while but for now, I’m done with it.
Feel free to comment by sending me an email or pinging me at Mastodon.