ESD is a static site generator I built to run this site. It uses Markdeep for markup and Playwright to pre-render pages offline.
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.
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.
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