Weave: Pollen for Clojure

Pollen is a language and set of tools implemented in Racket that support writing documents as programs. While Pollen provides a path for non-programmers to write Markdown or HTML, for programmers, the third tutorial reveals the true power of the platform, because it reveals how to extend Pollen's default document structure to support custom nodes (tags).

I have recently released a Clojure library called Weave that provides an extensible API for authoring documents in Clojure using a Hiccup-style syntax. While this library provides the API, it does not implement an output format. Thus far I have implemented a Markdown output format, which is hosted here:

Weave Markdown

As of this writing, the repository's README.md file is generated from a Weave document in the glossa.weave.output.markdown-meta namespace. The same is done for the Weave repository in its glossa.weave namespace.

I plan to port an early, bespoke implementation of Weave that compiled to LaTeX as the next officially-supported output format.

Tags: documentation latex clojure racket publishing html literate-programming

Copyright © 2023 Daniel Gregoire