The Sausage
This site was made using a custom static site generator (SSG) I wrote
in C99 that I call gensite2.
The previous version of my website also used a custom SSG but written
in Rust (called gensite) and the one before that was in C,
so we’re just going full circle.
gensite2 scans a directory of content, parses templates
written in a template language based on Jinja2 (to
extent of the feature set I currently use) then renders each page. Once
each page is generated, directory pages are generated and static assets
are copied to the output directory.
Each content page consists of a metadata header that the program will parse. The following is the metadata header for this page:
---
title: Colophon
author: Raymond Wan
created_at: 2026-06-05
is_draft: false
tags: c
---
Template files are parsed and rendered out with each processed content page. Here is an example of one of the templates used:
<ul class="post-list">
<li>
<span class="post-date">{{ date }}</span>
<a href="{{ link }}">{{ title }}</a>
<span class="post-tags">{{ tags }}</span>
</li>
</ul>Aesthetic
For this version of my personal website, I’ve decided to do a throwback on the design. It’s very reminiscent of my times of using website creators like Piczo when I was younger. The design is simple, a bit plain to keep it professional but with a few embelishments and some 88x31 web badges for personality and as callbacks to some of my experiences of computers growing up.