Add static file copying
author |
Steve Losh <steve@stevelosh.com> |
date |
Tue, 12 Mar 2024 10:24:34 -0400 |
parents |
1af33b2f2616 |
children |
(none) |
# 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?