Mastasis is a dead-simple, pure POSIX shell static site generator, relying solely on markdown and CSS.
Pandoc and a POSIX-compatible shell in /bin/sh
.
Begin by running setup.sh
, which will give you instructions for setup.
Markdown files are stored in the content
directory. Every file should be named index.md
, with other pages stored in subdirectories, e.g. content/about/index.md
.
You can make several replacements to reduce repeated typesets:
#FOOTER#
: this is replaced with a link to the root page#DATE#
: this is replaced with the current date (as of generation)#COPYLEFT#
: this is replaced with the link to mastasis. Pleae include this on your index & about pages.#URL#
: this is replaced by your site's URL, defined insite.meta
(see below).
Each subdirectory has required metadata stored in a .meta
file; e.g. content/about/.meta
. These metadata files are in POSIX shell and must contain the following variables:
TITLE=<titleName>
: this is the page's title
In the future, you will be required to provide tags for an automated category system.
Place your global CSS file in css/global.css
. An example is provided for you.
For per-page CSS, put them in the same directory structure as your markdown file, named page.css
, but in the CSS directory; e.g. css/about/page.css
will be applied to content/about/index.md
. The page.css
file is combined with your global.css
file.
Images and other files should be stored in the same directory as the markdown files that reference them; e.g. to include an image in about
, I would put the image in content/about/image.png
. These are not processed and remain as-is.
site.meta is another POSIX shell script that defines some key information about your site.
URL=<url>
: your site's base URL
This is licensed under the AGPL. Contribute and fork however you like, but do NOT claim that your fork is the original mastasis; please make it clear that it is a fork!