Visualizing a zk Notebook using Hakyll
zk is a simple plain-text note taking system built around Markdown. Within my zk notebook, I have a subdirectory with public notes. From these notes, I generate static HTML using Hakyll, a static site generation framework written in the Haskell programming language. The layout of the generated site is inspired by the werc anti-framework, the color scheme builds upon the Linuwial theme.
Hakyll Setup
While Hakyll is generally a very flexible site generator, existing examples primarily use it for blog-like websites. For my use case, I had to improve Hakyll’s dependency tracking and write glue code to support some zk peculiarities. For more information, refer to the following notes:
- Towards Metadata-only Dependencies in Hakyll
- Tag-based Navigation using Hakyll
- Supporting zk’s Markdown Extension in Hakyll
Future Work
A visualization of zk’s linking system (especially backlinks) would be nice to have. This, however, requires additional design considerations regarding dependency tracking, as it presupposes inspecting the file content. A naive implementation would thus reintroduce content dependencies.