Probably old hat to some…but documentation is important. Just for once…I am trying to keep documentation AHEAD of the inevitable bork that destroys everything… so that in 3 months time I don’t have to reconstitute everything out of thin air and swearing.
Anyhow, I came across this lovely little repo a while ago and though “yes, next time, use this”
https://github.com/Zavy86/WikiDocs
And so I am :)
I’ll let the author speak to the perks (no affiliation, I just like wikidocs and wanted to share it)
- Open source
- Plain text files
- No database required
- Markdown syntax
- YAML Frontmatter
- Editor full WYSIWYG
- Support for KaTeX math
- Support for Mermaid diagrams
- Unlimited page revisions
- Uploading and downloading attachments
- Uploading images (also from clipboard)
- Content can be categorized in namespaces
- Public and private browsing
- Desktop and remote sync
- Syntax highlighting
- Multiple languages
- Dark mode
While I show off a happy snap

This is coop but I tailored my need away by just not documenting.
Or maybe I should say the docker compose files are the documentation?
If no database, how is revision history maintained? Of course while there’s nothing wrong with someone deciding to write yet another self-hosted wiki, is there anything special about this one? “apt install gitit” has worked ok for me when I’ve wanted a low hassle wiki.
On revisions, I am not actually sure how WikiDocs stores the old versions internally. The project advertises unlimited revisions and rollback despite using flat files rather than a database. So…dunno.
Gitit looks very capable too, especially if you already want Git as the storage and revision layer.
What appealed to me about WikiDocs was less that it had some unique technical trick and more that it packaged the things I wanted into one nice interface: Markdown files, WYSIWYG editing, namespaces, attachments, Mermaid, etc etc
EDIT: “WikiDocs stores revisions as timestamped Markdown snapshots alongside each page”.
my-page/ ├── content.md └── versions/ ├── 1790201234567.md ├── 1790287654321.md └── 1790374567890.mdWell I assume this is thought to be used in conjunction with a Git repository (as its all just markdown files). So this would handle revision history for you.



