Peter Bessman's Homepage

Colophon

This site is statically generated using a simple Python script. It processes the contents of three input directories:

articles
├──20240401_Some_Article.md
├──20240402_Some_Other_Article.md
└──...
pages
├──A_Page.md
├──Another_Page.md
└──...
static
├──style.css
├──Picture.jpg
└──...

articles contains markdown versions of the main articles listed on the home page. The build script parses the filename to extract the data and title, then builds the listing according to whatever formatting rules I currently have programmed. The files above would produce a listing like:

pages contains markdown versions of the secondary pages listed at the bottom. As with the articles, the build script extracts the file name and inserts appropriate links into the site's footer.

static contains files that do not require any processing, like style sheets and images. The build script simply copies these to the output directory.

The header and footer are specified in three templating files: header.html, footer.html, and final.html. The build script uses these in combination with the content files to generate the finished site. MathJax renders any equations included in the markup.

Invoking the script manually is fine as a one-off, but tedious when making many changes. To relieve that tedium, I wrote another Python script to automate rebuilds. When invoked, it monitors the directory for changes and triggers the build script as needed.

There are many lovely static site generators out there, and I would likely reach for one were I managing a larger project. For my modest needs, these simple scripts are less effort and totally sufficient.

The color scheme draws inspiration from the sketches of Paul César Helleu.