Nebelhorn generates websites using Pandoc. It is geared towards a blog format, but it can be used for other websites just as well.
To use it, create a folder for your website. This folder needs to contain the following:
article: In this folder you can put your articles in Pandoc Markdown format, using
.markdownas file extension. Consult the Pandoc guide for details on the syntax. The articles require only two metadata tags:
date. The latter is used to sort the articles on the index page.
The articles will be written into the folder
articlein the output. You can organize the articles into subfolders if you want. The subfolder structure will be preserved in the output.
page: In this folder you can put your static pages. They will not be used for the index page and are written directly into the output root (except if you use subfolders of course), apart from that they pretty much work the same as articles.
template/article.html: This is the HTML5 template used for article pages. It is a normal Pandoc template, for help on how to write those, consult the Pandoc guide. You can use any meta tags you specified in the article files, plus the navbar as specified in
You can find an example at my blog.
template/page.html: The template for pages. Works exactly like the article template.
template/index.html: The template for the index page. Works just like the article and page templates do, with one difference: You don't have a
$body$, but a meta list
forthrough containing the meta tags, the body (as
body) and the relative link (as
link) of all the articles.
For an example, take a look at my blog.
nebelhorn.yaml: This is the YAML-formatted configuration file for Nebelhorn. It needs to exist, but can be empty. The following options can be configured in there:
outputFolder: The folder to write the output to, relative to the working directory.
outif not specified.
foldersToCopy: A list of folders, relative to the base directory, that will simply be copied to the output. Can be used for things like folders with font files. None by default.
navbar: A list of navbar items that comprise the navigation bar for articles and pages. By default, the navbar contains just one item named "Home" linking to
/index.html. Each navbar item must have the values:
name: The name of the navigation item.
link: The page to link to. Can be either a relative or an absolute link.
For an example take a look at my blog.