1 What I need
Personally I want something that's:
- plain-text: I just want text files, man. Mainly so I can edit them with spacemacs, but for all the other benefits of plain text over a DB.
- backed by version control: I just like VC for things that incrementally change over time. Also acts as a kind of backup if you push to a remote somewhere.
- publishable as HTML: so I can point other people to it if it's ever handy to do so
- easy to write and maintain: otherwise I know my enthusiasm will fizzle out
Right now, I'm not so bothered about web access / mobile support. I have ways of taking notes while I'm out and about, I see maintaining the wiki as more of a desk-based activity.
I think I basically want a mash-up of TiddlyWiki and emacs, so I can do all the text editing in emacs, but with all the work that has gone into knowledge management in TiddlyWiki.
2 What I'm currently using
I started with just org-mode and org-publish. As of March 2020, I started using org-roam, too.
This has been a nice progression. Using just plain org-mode got me started with minimal effort. Then org-roam has been a great extra layer on top, when I realised I wanted more to follow the zettelkasten/tiddler approach of smaller notes linked together.
I only ever want to edit text in Emacs, so big win here so far. To be honest I'm not a huge fan of org-mode markup for some reason, it's a bit ugly in places (I mean
#+BEGIN_QUOTE, what the hell kind of syntax is that??), but I'm familiar with it and of course it integrates very nicely into Emacs.
With org-publish you can pretty easily (requires a bit of config) output the static HTML. org-roam taught me the nice idea of adding extra hook as well for org-publish, and has one for pulling in all your backlinks. I may switch to ox-hugo at some point, for improved publishing.
See my personal wiki config for some config bits and pieces.
2.1 Could be improved
- search ing the HTML version. Not a big deal to be honest - I can search my local version easily enough, so it would only really be useful if I want other people to be able to search. Or sometimes I do want to search just so I can share a specific page with someone. (At the moment I go to /sitemap and that works well enough though). If I want improved publishing, I could use ox-hugo.
- structured data, e.g. I can see the list of books I've read begging for something more structured than plain text, or the big old list of tracks. But let's see how we go. I'm not trying to build a database.
- could mark it up with microformats…
- transclusion would be nice. In org-roam itself, some discussion here https://github.com/jethrokuan/org-roam/issues/317. fedwiki/tiddlywiki style transclusion in the publish would also be nice. A mention of that here: https://github.com/jethrokuan/org-roam/pull/263.
- edit history*/*permalinks - doesn't affect my usage of the wiki, but means my URLs aren't very cool
3 Software I considered or has been recommended:
- Gollum: "A simple, Git-powered wiki with a sweet API and local frontend."
- ikiwiki: "Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git."
- Zettlr: "A powerful Markdown editor for researchers and journalists."
- Markdown and a git forge: gitlab or github do pretty printing of markdown pages in your repo (and org pages too, as it happens)
- TiddlyWiki: "A non-linear personal web notebook". Looks like it fulfils the usecase pretty well, and appears to have a plugin for git integration.
- org-brain: I tried org-brain a few times, and it never really clicked for me.
- Roam: what org-roam is based on.
- Does anyone else keep their own knowledge wiki?