After eight years of full service under Ikiwiki, this website is now driven by mkdocs. As a report of service, I'll conclude that Ikiwiki is a very clever piece of software. I think I need to underline that I still haven't found any other static web engine up to par with Ikiwiki. Of the (more than) 10 engines I have tested or evaluated last year, absolutely not anyone was natively able to handle all of the features requested for the building of my website. And I was far from using all of the features offered by Ikiwiki.
For me it was a clear signal to move to something that I could hack. So I focused on Python driven static website engines. Python is the language I used the most, at work and definitely at home and I feel confident in it. I am far from being a Python expert but I am reassured when I think about some lines in Python I wrote in the past which are used every day by QGIS users.
As a review, I tried to simply rebuild my website from scratch, using only the Markdown content from Ikiwiki (and sometimes rewriting it using simple tools like sed). I tested Pelican, Nikola, Lektor. I only managed to cover 100% of required features with mkdocs and some Python code of my own.
Here is a list of the required features used in this website:
- Should understand Markdown.
- Have a way to handle metadata about articles/pages.
- Use a multi-level section/category organisation.
- Handle images.
- Use Markdown tables.
- Markdown source code highlight.
- Use utf-8 encoding for everything.
- Have an archive system for blog.
mkdocs is far from being perfect but I am feeling more confident in my ability to fix things on it rather than with Ikiwiki. I have already understood most of the main code and written a dedicated plugin on it. Furthermore, the base code is relatively compact compared to Ikiwiki.
Well, for now, I will stick with mkdocs; probably for 10 years until something better, lighter, faster and simpler to use will surface.