Post

yamd — Client-Side Markdown + YAML Static Site Engine

MD + YAML frontmatter, fenced UI blocks, zero backend — research prototype with GHCR image.

yamd — Client-Side Markdown + YAML Static Site Engine

yamd is a client-side Markdown + YAML static site engine — no backend, no build step. A folder of .md files plus pages.yml is the whole stack.

Repository: github.com/eSlider/yamd · Live demo: eSlider.github.io/yamd/ · last push 2026-06-17 · ★1

Why it exists

  • Content-first — GitHub-Flavored Markdown; the shell loads once; refresh when files change
  • Ships like any static site — GitHub Pages, Netlify, S3, or your own host; engine runs in the browser
  • Nav from pages.yml — sidebar filter narrows the same tree; / focuses filter, Alt+N jumps to next match
  • Vanilla ECmaScript — no bundle step; ES modules in src/*.js

Architecture

flowchart LR
  MD[content/*.md] --> Engine[yamd src/*.js]
  YAML[pages.yml] --> Engine
  Engine --> DOM[Browser render]
  GHCR[ghcr.io/eslider/yamd] --> Serve[Static HTTP server]
  Serve --> Engine

Try locally

1
2
3
4
git clone https://github.com/eSlider/yamd.git
cd yamd
npm run dev
# → http://127.0.0.1:3456/

Container image published to GHCR on each push to main.

Tech stack

JavaScript (ES modules) · Markdown · YAML · Docker · GitHub Pages

This post is licensed under CC BY 4.0 by the author.