A static site generator for org-mode.
Download latestRead documentation



  1. Download the latest release (only Mac and Linux currently supported), or use the below code snippet to install:

     curl -s -o install-firn
     chmod +x install-firn && ./install-firn
  2. Move the Firn binary into your path: mv ~/Downloads/firn /usr/local/bin

  3. Navigate to your directory of org files

  4. Run firn new

  5. Run firn serve

  6. Run firn build when ready to put your site online!


Firn is a static site generator that aims to be a drop-in solution for creating web-sites from existing directories of org-mode files. Firn is a little different than some static site generators in that it is exclusively for rendering org-mode content; it is tailored to convert org-files into data structures, from which data and meta-data can be collected when processing a file.

When you create and build a Firn site, the following happens:

  • Org files are read from a directory and parsed into a data structure (internally called the org-tree).

  • Functions collect data (logbook entries, links, headlines) from the org-tree across individual and collective files.

  • A user creates a "layout" file, using Hiccup and Clojure functions to render the collected data:

    • The entire file can simply be rendered to HTML.

    • Specific headlines, their content, or org-data can be processed in a layout through the available render function.

    • The org-tree and as a data-structure is also available to layouts if a user need more fine-grained control.


Will Windows be supported?

Unknown. GraalVM is capable of compiling to native images for Windows. It may be possible to compile it but the core developer is only capable of supporting Mac and Linux at this time.

Where can I see the feature roadmap?

Keep an eye on the Github repository's issues and projects board.

Do I have to use Clojure in my layouts?

For now, yes.

How can I easily learn about Emacs and Org-mode?

An opinionated response: try Doom Emacs, including Zaiste's tutorials (which also cover org-mode).

At what point, if I chew gum enough, will it go from having flavour, to having no flavour to having flavour again?

That's a puzzler. I'm going to have to think about it.