Nanoc 5 wishlist
Up: Nanoc
This note is a brain dump first and foremost. There is no work happening on Nanoc 5 at the moment — at least no coding, but definitely some thinking.
That said, here is what I would love from Nanoc 5:
-
True parallel compilation.
-
View components. See also: It is hard in Nanoc to use reusable view components. This might mean making the distinction between partials and layouts more clear.
-
Usable as a library.
-
Easy to install without needing Ruby. This might mean a total rewrite, and I don’t know how existing filters would still be usable. See also: Nanoc’s use of Ruby is not an appealing choice these days.
-
Minimal memory usage. Especially for big sites, loading everything into memory is slow and causes performance issues. See also: Nanoc’s in-memory approach limits scalability.
-
Focus. Remove checking and deploying, or at least have those as separate products.
-
Support for extracting metadata from items that don’t use a traditional frontmatter. See Embedded plaintext metadata formats.
-
Intermediate formats (e.g. Markdown ASTs). This would allow more efficiently converting from one input format to multiple output formats.
-
Multi-part documents. Though this might overlap quite a bit with intermediate formats as described above.
-
Dynamic content generation: allow a document to have multiple outputs from embedded content like Mermaid diagrams or TeX formulas.
-
Pure. No preprocessor. This will require some work on figuring out how to replace the preprocessor, because it’s rather essential at this point.