Axiom is a simple static site generator powering my personal website and its subdomains.



git clone -b main
cd Axiom
npm install
pip install -r requirements.txt


  1. Add sites as subdirectories to the src directory.
  2. Add pages as Markdown files to the respective site’s directory.
  3. Add any assets by placing them inside the site’s directory.
  4. Add your sites, pages and footer links to the cfg/config.json file.
  5. Run npm start to build your sites into the dist directory.

A simple example with one site (home), one page (index) and one link (link) has been included in this repository. It is highly recommended to create an index file; Axiom will not do this by itself.

To modify a theme, have a look at cfg/themes/theme/index.html and cfg/themes/theme/dist.


This repository includes a Dockerfile which fires up a full-featured, production-ready instance of Axiom.

git clone -b main
cd Axiom

Follow steps one to four of the usage instructions above, point the domains to your IP address and run:

docker build -f cont/Dockerfile -t axiom .
docker run -p 80:80 -p 443:443 -p 1965:1965 axiom