Last updated:
2020-09-25 20:00



  • Several new render functions, for easier preset rendering of content:

    • Add (render :sitemap) (with options for :sort-by, :start-at )

    • Add (render :breadcrumbs)

    • Add (render :adjacent-files)

    • Add (render :backlinks)

    • Add (render :firn-tags)

    • Add (render :org-tags)

  • Ability to use render in a non-org page - only global things may be rendered, however, such as a site-map, or a firn/org tags.

  • Add build-url function for easier creation of internal urls.

Breaking Changes

  • Custom pages are no longer added to the sitemap; they currently present too much trouble as they do not have front matter and thus cannot be discerned where they fit in with possible sorting mechanisms on the site-map (ie, they cannot have a FIRN_ORDER value, and thus have to default to being pushed to 999999~ order and so remain at the "bottom" of the sitemap. Still looking for a better solution to this.)


Feature: Clean up unused attachments.

  • Adds a configuration option to config.edn: run-build-clean? - which will remove unused file attachments from _firn/_site after finishing building.

    • if "always" -> always remove unusued attachments from final _site output.

    • if "prompt" -> CLI will prompt user to delete files.

    • if "never" -> CLI will never delete unusued attachments.

Feature: Exclude files from site-map.

  • User's can exclude org files from showing in the site-map by using the #+FIRN_SITEMAP? in-buffer-setting.

  • Enables Firn sites to be hosted at non-root addresses.

  • Before, all internal href links were relative. Now they are absolute and based off the :site-url value in a user's config.edn

Feature: Folding (34)

  • headlines and their content can be folded on a site-wide, layout-wide, or file-specific basis.

Breaking Changes

  • when rendering a table of contents, the options map has renamed a key from "exclusive?" to "exclude-headline?". As such:

(render :toc {:headline "Headings" :depth 1 :exclude-headline? true}) ; is now valid
(render :toc {:headline "Headings" :depth 1 :exclusive? true}) ; no longer works.


Feature: Pages

  • user's can create "Pages" now.

  • Creating a page in _firn/pages/my_page.clj will similar to layouts, convert hiccup to html.

Feature: Tags and Tag Page

  • tags are now displaying in headlines.

  • tags in headlines are links to a /tags page, anchored to the respective tag clicked.

  • The "tags.clj" page is created out of the box with a new Firn site.

  • The tags page lists all tags across all headlines in all files; each a link that jumps to the respective heading.

Previous: Sample Page