A simple static site generator powering my personal website and its subdomains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Sunny 18d882d9d4
Fix formatting
1 month ago
cfg Fix formatting 1 month ago
cont Update dependencies 2 months ago
src/home Initial commit 1 year ago
util Use margin instead of space 1 month ago
.gitignore Add back Oscean theme 2 months ago
LICENSE Initial commit 1 year ago
README.md Migrate project to Codeberg 1 month ago
package-lock.json Remove version from package files 2 months ago
package.json Remove version from package files 2 months ago

README.md

Axiom

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

Features

  • Optimized for easily navigating between multiple domains.
  • A simple, straight-forward theme inspired by Oscean.
  • Automatic minification of HTML, CSS, JS, image and SVG files via Minify and sharp.

Installation

git clone https://codeberg.org/sun/Axiom
cd Axiom
npm install

Usage

  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.

  • The comments within index.html will be replaced with the actual menus and content.
  • Any files inside dist will be copied to every site's directory. CSS and JS files should be placed here.

Docker

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

git clone https://codeberg.org/sun/Axiom
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 axiom