mw
mw
stands for any/all of the following:
- My Wiki
- Mini Wiki
- Make Wiki
- Markdown Wiki
License: GPLv3.
Design
Wiki pages are vanilla Markdown files, because writing in any other format is
awful and version control is good. Metadata will be a single Lisp list at the
beginning of the file, read with safe-read
.
No directories. Just one big list of Markdown files that get transformed into
.html
files one-by-one. Links should be relative so you can serve them from
a subdirectory and it'll still work.
The home page is special-cased, its metadata includes metadata for the entire wiki (title, link color, etc).
Linking is special-cased because it's so common. In addition to vanilla Markdown links, there's an extra layer of postprocessing:
[Some Page]()
: looks up the destination by page title.[Some Page](some-slug)
: looks up the destination by page slug.
Pages can have extra-titles
and extra-slugs
, so you can alias really common
pages to avoid typing.
Anything in static
will be copied over verbatim, e.g. for images and such.
The output will be static, vanilla HTML files that can be served with anything. No Javascript required.
TODO
- Check for deleted files and delete them from build directory?
- Maybe an actual CLI?