git clone https://github.com/roman-zolotarev/ssg
./ssg5 src dst "Site Title" "https://tilde.town/~you"
You write your own ''_header.html'' and ''_footer.html'' partials and a stylesheet.
===== saait =====
Single C binary, ~575 lines, no runtime deps: [[https://codemadness.org/saait.html|codemadness.org/saait]]. Page config files plus a global ''config.cfg'' plus a template dir. Generates pages, an index, an Atom feed, a twtxt.txt, ''sitemap.xml'', and ''urllist.txt'' out of the box.
git clone git://codemadness.org/saait && cd saait && make
./saait -c config.cfg -o output -t templates pages/*.cfg
Templates are files with ''{$var}'' substitution. Want markdown? Pre-convert with smu, lowdown, or pandoc into the pages dir first.
===== mkws =====
Shell as the templating language: ~30 lines of sh plus ~400 lines of C. Templates are shell code; you can call any unix tool from inside them.
# a page is literally a shell script that prints html
cat <
$(lowdown file.md)
built $(date)