I created my first website more than twenty years ago. At that time, I wrote it in good old HTML4. The page layout was done by using a series of non-intuitively intertwined tables. This was before CSS.

I then moved on the dynamic websites like Wordpress. No need to write code anymore. One just need to concentrate on writing content and the engine takes care of the rest. This was great since I did not know any JavaScript nor any CSS. With the gain in popularity of the platform came the security issues mainly caused by the number of plugins available. What I found most annoying was the difficulty to migrate the website from one server to another. Even though there were plugins available for that, I always ended up having to go mess up with the database. Eww!!!

Then came DokuWiki which is also a dynamic website engine. The main difference with Wordpress is that DokuWiki does not use a database. All its articles are saved as plain and simple text files on the server. No more migration problem. Furthermore, creating backups of the website is a cinch. Great!

I used DokuWiki for a many years until I ran across an article praising the virtues of static websites. No databases. No PHP. One only needs to write articles in some markup language like Markdown or reStructuredText using any text editor. The text goes through a processor called directly on the command line and the entire website is generated directly in some directory on the hard drive. The whole thing just needs to be transferred to some server and presto! Since all the webpages are static, the website is harder to hack. If something bad was to happen, one only needs to regenerate the website and upload it again to the server.

What I like most about this is that I can use all the development tools I am most familiar with. I write the articles in reStructuredText. I use Vim which is my go-to text editor along with Git to manage and backup my articles. Everything is done on the command line. I don't need to leave the terminal which is where I spend 90% of my time anyway. Writing an article for my website uses the exact same workflow as I use for software development.

Finally, with the great quantity of static website engines available, why choose Pelican? Simply because it is written in Python which is a programming language that I use. Some of the most popular engines use JavaScript, Ruby or Go which are programming languages that I don't know. Although it is not necessary to know any programming to use these engines, it is still useful to know a little bit about the language in which they are written in order to tweak them to our liking.

The circle is now complete. After all this time, here I am right back with good old HTML (5 rather than 4 and with a dash of CSS)...