Prosody IM Static Site Generator
Introduction
This is a simple static site generator for https://prosody.im/. The pages were migrated from our old DokuWiki instance, including history, into Markdown files in a Mercurial repository.
Contributing
The site is managed with Mercurial, just like Prosody. See the page Contributing for general instructions.
Syntax
The site uses Pandocs
Markdown. A short summary of the most commonly used syntax can be
found in wiki/syntax.md
.
Requirements
For building
Theme
Building
make
- Builds the entire site
Special files
Apart from GNUmakefile
which contains the rules and
relationships between source files and finished HTML pages, there’s
_template.html
which is the HTML template that the source
Markdown files are combined with into HTML pages.
The page _dirindex.md
also has some special treatment,
as it is meant for the
Nginx Fancy Index module to produce directory listings. Because of
how that module needs separate header and footer files, after
_dirindex.html
is built, sed
is used to split
it into _dirindex_header.html
and
_dirindex_footer.html
.
Serving
Because there were no .html
file extensions in Dokuwiki,
all links are broken unless some rewrite tricks are used.
For nginx, it goes something like this:
location / {
index index.html start.html;
try_files $uri.html $uri $uri/ =404;
location ~* (/.+)/$ {
try_files $1.html $uri $uri.html $uri/ =404;
}
}