Thornton 2 Library of Scraps

AMTSWG, ArielMT's Static Website Generator

This website is powered by a somewhat minimalist static website generator I made. I call it, imaginatively enough, "Ariel Millennium Thornton's Static Website Generator," or AMTSWG for short. It uses the "make" build system, some supporting shellscripts, M4 for HTML macros, and the Markdown perl script for lightweight markup.

Summary of AMTSWG

AMTSWG is a simple static site generator based on POSIX tools, mostly a Makefile and some shellscripts.
Operating Systems:
Developed on FreeBSD, tested on Linux, not tested on any other OS.
Bourne Shell, Make
M4, Markdown
FreeBSD 2-Clause

What is a static website generator?

A static website generator lets you write Web pages in a lightweight markup language instead of in raw HTML, then it takes what you write and makes HTML pages that share a common theme, looking like every page belongs to the same website and simplifying navigation between pages.

Unlike Web server applications, static website generators only ever run on your computer. The only thing the Web server needs to do is serve the generated HTML pages, like all Web servers since the first one in 1990 have done.

Why another static website generator?

I made AMTSWG because I've only ever made static website content, and every website development framework I used before turned out to be more trouble than it was worth, yet it took months or years to break away from them.

I started out in 2001 with a bunch of macros written in Jamal, then I made a mess of PHP files in 2002, and finally in 2009 I used a wiki application (wagn, now renamed to decko) written in Ruby on Rails, before I decided to go back to static websites and make my own generator in 2019.

I switched to PHP because my Jamal macros became a tangled knot, I switched to Rails because PHP is fundamentally flawed and inherently insecure, and I wrote my own static website generator because both Rails and the wiki application are site-breaking messes whenever any upgrades (especially security-related upgrades!) are attempted on shared hosts.

What's wrong with other static website generators?

For a lot of website authors, there isn't much wrong with other generators.

However, I wanted a generator that works with POSIX or SUS commands, that works with small and commonly-available programs that aren't likely to ever be deprecated or change their interfaces or file formats, that is likely to keep working for decades with only the occasional bugfix, and that won't rebuild any HTML pages except the ones that actually had their content or theme edited.

AMTSWG is ready

At last, I cleaned up my shellscript code, Makefile, and M4 macros, and I'm ready to release my work for anyone else who lives on the Unix or Linux CLI, wants to make a static website, and values long-term stability over new shinies quickly rendering old work incompatible.


  1. Download AMTSWG:
    • Current version: 0.3.1k489
    • Older versions:
      • (none)
  2. Read the README files:
    1. README (required reading)
    2. README.more
    3. README.robotstxt