To anyone else thinking about a tool - I've fizzled out before with a wiki because of endless tool hunting. If that's happening to you, I'd honestly say just start with plain text (maybe markdown) - just make sure you can write your ideas somewhere. Then progressively enhance.
1 What I need
1.1 higher level stuff
Before getting into the weeds of specific tools, what do I want?
- something that makes writing easy to do and easy to maintain. Whatever works best for you for getting your ideas down, is the most important.
- Next up is some way of linking those ideas.
- A way to help you see the constellations of your thoughts
- If you want it to feed into publish discussion (which I do), you probably want some way of publishing it.
Lilia Efimova writes about her dream wiki/weblog tool in 2004(!).
1.2 more techy stuff
Some more personal/techy bits of it that I want:
- 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. For me that means key bindings and navigation that's intuitive to me.
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. It provides a list of backlinks, as well as basic graphing/visualisation, so it goes some way to helping find the constellations, too.
I am very tied to text-editing in Emacs (with vi bindings), 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.
I like this as an approach because it uses and leverages all of the existing functionality of the Emacs ecosystem. I'm not learning a new tool (although of course it was a new tool to me at one point, so wouldn't necessarily recommend this to someone not already familiar with Emacs).
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 could perhaps be nice, or some of that block include stuff Roam has. 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.
- an easy to navigate edit history / permalinks - it doesn't affect my own usage of the wiki, and I do have it versioned in git, but my URLs aren't very cool - other people might experience linkrot and struggle to see history
3 Software I considered or have seen 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.
(never asked questions)
5 Misc links
- Does anyone else keep their own knowledge wiki?
- Some discussion of knowledge management in org-mode: Serious knowledge management / concept networks with Org-mode? : emacs