Home / Projects / ESD

ESD

ESD is a static site generator I built to run this site. It uses Markdeep for markup and Playwright to pre-render pages offline.

   

How it works

Pages are .md.html files written in Markdeep. ESD resolves includes, injects the Markdeep runtime, then runs a headless Chromium browser to render each page. The rendered HTML is captured after Markdeep signals completion and written to the output directory.

Markdeep's (insert path here) directive is used for shared fragments — the nav header, footer, and any content shared across pages. ESD resolves these recursively before rendering, and tracks the include graph so that watch mode can rebuild only the pages affected by a changed fragment.

   

Usage

python esd.py build -i ../xo.codes    # full build
python esd.py watch -i ../xo.codes    # build then watch for changes

Output defaults to <input>/build. Pass -o <path> to override.

   

Configuration

Site config lives in esd.toml at the root of the input directory. It passes options to Markdeep (smart quotes, TOC style, inline code language, etc.) and to ESD (theme, whether to include the Markdeep footer).


xo © 2026 all rights reserved — attribution

Robots can go to hell.