30. PackagesUsed.md
The Packages from Hackage used. Primarily pandoc, pandoc-citeproc, doctemplates, but also twich, shake, scotty and aeson, lens, and aeson-lens. (pdf)
Jan. 4, 2019
Pandoc
The central component of any modern site generator seems to be Pandoc. At the
moment only markdown is used for content and output is html,
additionally, pdf
files for print output.
Pandoc-citeproc allows the inclusion of references and reformat references based on a BibTex file, which includes the details.
Templates
Pandoc includes a template system, [doctemplates] (http://hackage.haskell.org/package/doctemplates). Injects text values from a JSON record (based on labels); it allows conditionals (` .. ) and loops.
Watching file change : Twitch
Twitch uses FSnotify to connect programmed actions to activities with files. It can be used to notify the process which bakes files about changes in file content.
Caching
Shake is a
Haskell version of make
and can be used to convert a static
site (idee in Slick
JSON
The aeson Haskell implementation of JSON is used, together with aeson-lens for getting and setting values in JSON records.