JoelDueck.com Source

All Top-level Files
Login

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


This repo contains the source code for the site published at https://joeldueck.com.

All content here is copyrighted by Joel Dueck. User-facing prose content is licensed under CC BY 4.0. You can make use of the code under a permissive license if send me an email introducing yourself (see LICENSE for details).

Tour

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

Racket setup

Install Punct, Splitflap, HTML5 Printer 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.

Makefile

The makefile provides a nice interface to the project:

❯ 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.