I maintain a python virtualenv with Pelican and other needed packages. At need,
the directory can be rebuilt with a combination of pipenv (for the python) and
yarn (for the nodejs packages). Articles and pages are written in Markdown.
make publish and
make rsync_upload command on the command line
will generate and upload the site.
This setup offers several advantages over writing the html pages by hand:
- I can change the site look and feel at a whim, and change it on all pages by regenerating them all with one command.
- When writing content, I can focus on writing (essentially) plain text and ignore things like look-and-feel.
- Since the content is markdown, and the templates are python jinja2 html templates, I can use the same tools to write this site (vim for editing, linux-as-ide, git for version control) that I use every day for writing code professionally.