gssg use forward slashes even on platforms with `\` sep
Expose page filename to templates
Fix typo on postlength template
A gemini static site generator
gssg will:
Apart from the feed, no other files will be generated. gssg will only act on files from the source directory.
Initialize a new site with gssg -init
:
gssg -init example.com
This will create the following structure:
example.com
├── config.toml
├── content
│ └── index.gmi
└── templates
├── atom.xml
├── index.gmi
└── page.gmi
The default template expects posts on the content/posts
folder, and it will
display them on the index.gmi
page ordered by date.
At this point, you have a working gssg installation. To generate the site, just run:
gssg
Dates will be populated on the page information via the filename or the contents of the file.
If the filename has a YYYY-MM-DD string, that will be counted as date, if not, gssg will search in the file contents for the first entry of YYYY-MM-DD and use that as date.
Configuration will be made through the config.toml
file in the root of the site.
Available configuration options:
# Mandatory options
title = "anon's gemlog" # Title of the gemlog
url = "example.com" # URL of the gemlog
source_dir = "content" # Directory of the source files
dest_dir = "public" # Directory of the generated files
# Optional
template_dir = "templates" # Directory for the templates
feed_title = "posts anon's gemlog" # Atom Feed name
feed_path = "posts/" # Directory on source_dir to search for articles for the feed
There's three available templates at the moment, page.gmi
, index.gmi
and atom.xml
make
make install
Patches and questions? Send to my public
inbox:
~gsthnz/public-inbox@lists.sr.ht
.
Thanks!