Nanoc
Nanoc is a static-site-generator that I wrote and maintain. It started in 2007 and is still going strong. I initially wrote it to use for my personal web site (the one you’re reading right now) and I still use it for that.
I write a lot in Bear, and the import what I wrote into my Nanoc site. See Importing notes from Bear for how I do that.
I do have a few thoughts around strengths and weaknesses of Nanoc. If I were to start over with Nanoc, or create an entirely new SSG from scratch, those are the things I would pay particular attention to:
- Nanoc needs --json so that the CLI can be used programmatically
- Nanoc needs file paths to be known before compilation starts
- Nanoc sites take too long to load
- Nanoc’s in-memory approach limits scalability
- Nanoc’s lack of parallelism slows down compilation
- Nanoc’s live recompilation is inefficient
- Nanoc’s preprocessor hinders optimization
- Nanoc’s terminology is inconsistent with the industry
- Nanoc’s use of Ruby is not an appealing choice these days
- Checking and deployment does not belong in Nanoc
- Too easy in Nanoc to get undefined behavior
- It is hard in Nanoc to use reusable view components