Over and over, I find myself needing a static site generator to extract documentation from a Git repo, and put up a static site. There are dozens of static site generators available, but almost all of them suffer a fatal flaw that they you can’t have images next to the Markdown files in the source files. Most require them to be in a separate “public” directory with other static assets. This ends up resulting in most projects have separate documentation repositories from the source repositories.
Zola is a little different in that it allows you to have an image next to a Markdown file (asset colocation), but it creates pretty URLs (without .html extension), so you end up doing a lot of mypage/_index.md
instead of simply mypage.md
.
Proposal: what if we had a simple tool that do a simple translation on a directory of markdown files where the exact directory structure was retained and mypage.md
simply becomes mypage.html
. This would keep the documentation source files simple and easily viewed in the Github web interface, as well as a static site.
I’ve concluded the following about documentation:
- best if created by project authors
- needs to be close to the design/src files and part of the design workflow
- needs to be very simple – complex formats, tooling, metadata, or structure introduces friction
Really, what I’m talking about is roughly generating a static site that looks about like what Github might generate, along with some extras like a table of contents, search, code syntax highlighting, etc.
Documentation is a critical part of any development process (OSS and otherwise) – I think it deserves focused tools.
I hesitate to get distracted on yet another OSS project, but I’m currently spending too much time setting up tooling for documentation sites for my various projects.
Thoughts?