It's fairly easy to build a static website. Static websites differ from dynamic in that they do not communicate with a database of any sorts. This makes it easier and especially cheaper to deploy to almost any setup which runs at least rudimentary serving capabilities.
There are many options for static site generation, I chose Pelican. There is no particular adamant reason behind it, but browsing for themes did tilt the scales in its favor.
Workflow is basically simple. One time install is that of
Python (e.g. version 3.6). Once you have that, I would recommend you also get
pip install virtualenvwrapper.
You then activate virtual environment and install all dependencies for
# create and activate virtual environment
# installs pelican
pip install pelican
Create your project folder
Now feel free to follow instructions from
Once you are done writing contents to a markdown (
.md) file you 'publish' your website, which puts all the bits and pieces together (applies settings, theme...) into an
/output folder. You can do that using
pelican content --output output --ignore-cache --relative-urls --settings publishconf.py. Making paths relative enables you to view your site locally without resorting to changing
SITEURL = '' before compiling.
To make your website ready to be published, feel free to include settings specified in the
pelican content --output output --ignore-cache --settings publishconf.py. Ignoring cache will make sure some weird bits do not get left in and Pelican starts afresh.