A rantbox by Michiel Scholten

A question about statically generated websites

When I made a remark that my commenting system is working again, a reader asked a simple enough question: how does one build a site like this?

I realised there is no simple answer to this.

Well, there is, but it takes a bunch of knowledge (and skills) one has to have before starting, like knowing how to use Git, knowing a bit about hosting, about Python and its virtualenvs, some experience with the command line, and likely some minor-but-important details I'm forgetting now. Oh, and how about a commenting system?

The dammIT website is generated by software called Pelican and its html files, stylesheets etc are located on one of my webservers.

A good quickstart about using Pelican on for example GitHub pages (a quick way of letting GitHub host your website) goes a long way into setting up something similar, but it assumes knowledge about using the Git versioning system, the command line, and Python pip, which not everyone is familiar with (yet). This is totally fine, one can learn, but it provides some hoops to jump through.

This is true for every way you can setup a website of your own nowadays, apart from using some hosted, turn-key solution like Squarespace in which all the magic is hidden and you only have to fill in the blanks.

There are few shortcuts to take to go from zero knowledge to have a website of your own running, so it will always take some learning, and I think that is part of the fun. So what I want to do, is write a few posts/articles:

  • a technical one, with detailed insight in how my weblog, this site called dammIT, is set up, how things are generated, and how comments are made possible
  • an article in which I will explore possibilities to make it easier to set up a statically generated site yourself, referring to and extending guides like the above mentioned quickstart

These are likely going to be pretty long ones, so it will take a bit to write them. Still, they might be of help for someone :)

article header image