- [ ] process source code blocks to syntax highlight them - skylighting https://hackage.haskell.org/package/skylighting - More boring therefore more better - tree sitter https://hackage.haskell.org/package/tree-sitter - Alternatively do the Rust <-> Haskell binding myself - https://www.well-typed.com/blog/2023/03/purgatory/ - https://willmcpherson2.substack.com/p/calling-rust-from-haskell - https://github.com/BeFunctional/haskell-foreign-rust - https://github.com/BeFunctional/haskell-rust-ffi - Borsh - https://crates.io/crates/tree-sitter-highlight - Or potentially https://docs.rs/arborium/latest/arborium/ - [ ] Make a function which takes IR and spits out some kind of table of contents - [ ] Add rst or org support and convert markdown handling to custom parser instead of pandoc - [ ] Add in functionality for footnotes - There should be a per footnote template as well and also either the default or post template should have an attribute which handles footnotes - [ ] swap from using `draft` to using `date` for determing draft status, lack of date = draft - [ ] Fix time via timestamps potentially meaning something (via preshim?) and use local offset instead of absolute time https://www.rfc-editor.org/rfc/rfc3339#section-4.2 - [ ] setup font subsetting (font file minimization) - [ ] dev server setup (with live reloading) - https://hackage-content.haskell.org/package/warp-3.4.10 - https://hackage.haskell.org/package/file-embed - https://hackage.haskell.org/package/fsnotify - [ ] see if performance can be improved, it shouldn't be necessary but if I'm looking at doing something for this and everything above this got checked off then this is a sensible next thing