All Top-level Files

Files in the top-level directory in any check-in

This repo contains the source code for the site published at

All content here is copyright 2022 by Joel Dueck, and licensed under CC BY 4.0.


This site uses Punct along with a few tricks and tools to make a very pleasant, snappy little blog.

Racket setup

Install Punct, Splitflap and raco-static-web.

The info.rkt file allows me to install the project as a Racket package:

❯ raco pkg install --link .

This makes this folder’s main.rkt accessible via the jdcom module path. So Punct files starting with #lang punct jdcom will bring in the bindings provided by main.rkt.


The makefile provides a nice interface to the project. It makes use of Tidy, so you will need to install that tool, or edit the makefile.

❯ make
help            Displays this help screen
publish         Sync all content to the web server (does not rebuild any files)
web             Rebuild all web pages
zap             Clear Racket compile cache, and remove all HTML output

On my M1 Mac, make zap && make web -j 8 does a complete rebuild in a couple of seconds.

Local web server

The start_server script starts up a local web server, while also spawning a background process that runs make web every time a file in the project folder is edited.

To make use of this script, you’ll need to have fswatch and raco-static-web installed.