- Scheme 100%
guile-wiki
This is a filesystem-backed static wiki generator written in Guile Scheme. Eventually it might have some notion of in-browser editing, unless I decide to split that off into its own separate web app. It does not use Javascript anywhere.
This code does not use any third party Guile modules. I'm generally trying to avoid that, as relying on external code can make a project brittle; I'd like to still be able to run this code ten or twenty years in the future. This isn't entirely theoretical: I still have QBasic code I wrote as a kid some thirty or so years ago that runs just fine because it's all self-contained. I also have code from less than ten years ago that won't run without significant rewrites because the third party tools and libraries it depended on have either vanished or evolved out from under it.
This code uses the Peer Production License. I don't imagine it's interesting enough or ever will be interesting enough for it to matter what license I'm using, but I'd like more people to know about this license and consider using it for their own work.
There is no CSS by default. You can provide your own by dropping a file called "style.css" into your source directory. You can also override the default pre and post HTML content by editing the "html-pre" and "html-post" in wiki.scm. There are parts of the header and footer defined in those functions that are specific to my own website, so I strongly recommend this!
Support for Gemtext output is planned.
Example invocations
guile wiki.scm build ~/wiki/src.lwl ~/wiki/out.html
guile wiki.scm build ~/wiki/src/ ~/wiki/out/
guile wiki.scm ast ~/wiki/src