static site generator



Nvir is a static site generator. The main goal of it is to become a blog generator.


  • plan9port or 9base: used for mk and rc
  • GNU m4: used for templating
  • A CommonMark to HTML compiler (currently supported: pandoc and cmark): change line 14 to your prefered compiler.
  • minify: self-explanatory.


The content/ directory contains your pages. A page consists of 2 main files: the content, a CommonMark file with .md extension, and the metadata, an M4 file.


The following metadata is available:

  • __TITLE: Page title
  • __DESCRIPTION: Page description
  • __DATE: Page creation date (MM/DD/YYYY)
  • __AUTHOR: Page author
  • __TAGS: Comma-separated tag list.

Right now only __TITLE is used. The others will be used in a future when implementing a proper index page and other stuff.


Nvir compiles all Markdown to artifacts, which then get compiled to the final HTML form. Since partials may be included in the header/footer of the final HTML, this ensures that when a partial gets rebuilt, the Markdown isn't compiled again, saving time.