This exposes more site-specific information to templates. Top-level
_index(.gmi).md is now treated by the templating code the same
way per-directory indices are (which introduces a breaking change:
top-level posts now receive .Posts instead of .PostData).
Web-specific metadata is now removed from the RSS.
This makes gmnhg usable out of the box to generate a reasonable
site with zero configuration even with pages with no metadata.
This makes gmnhg use settings from Hugo by default, allowing
to override variables in a separate gmnhg section.
Currently the templates use baseUrl, title, languageCode and
copyright.
Fixes#29.
This implements RSS timeline generation in gmnhg.
RSS is generated both for the whole site, and for the content
directories as an rss.xml file inside these directories.
RSS requires the absolute URI to the article. For this to work,
a geminiBaseURL setting is required to be set in the Hugo
configuration file (config.toml/json/yaml).
RSS template can be ovewritten on the site-wide /
directory-wise basis; see godoc on how to do this.
As there's no discovery method of an RSS timeline in Gemini,
the users are expected to put a link to rss.xml on their site
where necessary.
This adds generic sort / sortRev functions for use in gmnhg templates
which use sort.Sort to sort anything that implements sort.Interface
(which includes lists of posts).
The existing sortPosts function that used to sort posts in reverse order
becomes an alias to sortRev for backwards compatibility.
gmnhg is the new program that generates a Gemini site from Hugo site
content. It reads its input from content/, static/, and layouts/gmnhg/.
Its output by default goes to output/.
More doc is available in the program doc header.