Hacker News new | past | comments | ask | show | jobs | submit login
Zim – A Desktop Wiki (zim-wiki.org)
363 points by martinlaz 3 months ago | hide | past | favorite | 165 comments

There are a lot of fancier note taking tools but I keep going back to Zim. Been using it for years for private offline note-taking for work. I use quick notes and journal shortcuts many times a day to quickly jot down a followup note/idea/question in meetings. It's also my GTD system with tasks plugin. Love that it's just text files so I can manually edit them, version control, sync in private cloud service, etc. Never worry about losing my data.

There are a few quirks I've gotten used to over the years though:

- Pasting code will be garbled or auto-create tags unless you use the source view plugin or paste verbatim.

- Takes a little configuration out of the box to get just right, system dependencies, links opening in right browser, plugins, shortcuts, fonts. But once you get streamlined it just works.

- The syntax feels a little strange to me but I rarely need to edit raw files. I could also export to Markdown if I ever wanted to migrate.

My last tip, templates are awesome. I have ones for all kinds of things, like interviewing, 1-1s, and architecture design outline.

I used it for years for writing a daily journal. I'd press a shortkey such as Alt+D and I'd get an entry for the day and write. Simple useful tool with an awesome author.

Hijacking this comment, I use Horst Schaeffer's MemPad[0] for this. Super lightweight, super simple, super fast. Also great for tracking freelance work with one file per client. Alas, Windows-only.

0. https://www.horstmuc.de/wmem.htm

Logged in to say hi to a fellow MemPad user! I just emailed Horst the other day to request some features. It was interesting to learn about PureBasic as well which is what he uses for all of his programs.

  > Pasting code will be garbled or auto-create tags unless you use the source view plugin or paste verbatim.
I had used Zim extensively in the past, I absolutely love it. The dev is responsive and terrific and terrific as well. But I've lost quite a lot of code snippets due to the auto-formatting and auto-linking. If you are interested, these are two of the bugs that I filed on the subject:

"Do not parse input as wikicode" https://bugs.launchpad.net/zim/+bug/585300

"Option to disable all autolinking" https://bugs.launchpad.net/zim/+bug/585301

FYI you can create a key binding to "<Actions>/inserted_objects/insert_code" from Preferences. I've bound Ctrl-Shift-C and it's faster than hunting for it in the menus.

The syntax selection dropdown isn't great though. I wish I could type-to-search in it.

I've never touched the templates, I don't understand derstand their documentation. You have any pointers to something less obscure?

It is time to give a shout out to my favorite note taking app: Trilium https://github.com/zadam/trilium


  1. Data is saved in SQlite. I am at 33k notes and it springs open instantaneously.    
  2. Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree. (Think soft-links)     
  3. WYSIWYG support (CKEditor)   
  4. Tags, advanced scripting features    
  5. Other ususal wiki stuff like backlinks, note-map etc

  1. Electron.    
  2. Data is saved in SQlite, not plain text.

I use Joplin, which has a similar feature set but also mobile apps:


It supports various types of file stores for syncing between devices. I've used OneDrive and WebDAV. The project has also recently launched a cloud service for people who want to sync between devices but don't want to set up a network file store.

It's my current note-taking app of choice, and I sponsor it on GitHub.

Having a proper database for note systems isn't necessarily a bad idea. For large knowledge bases, it lets you do arbitrary queries at least somewhat efficiently. Many apps just limit the kinds of searches/queries you can do, but eventually you end up needing to have an ad hoc query optimizer and planner or for users to have control over query evaluation so they can do the optimization themselves.

However, you could probably still use sqlite for analytic queries by just creating an in-memory or temporary database at startup then watching for file changes to keep the database consistent. Creating this database probably won't take that long unless you are trying to store all of Wikipedia in your knowledge base.

I love trilium, in fact I think I'm going to start a hosting service for it (built-in syncing mechanism). For a few reasons: 1. Sync to allow the sharing of notes publicly, which allows you to create simple websites very quickly. 2. Instant access as long as you have a browser. 3. As a backup. It's an incredible application and I'm proud to have contributed to it in the past no matter how little.

I love this program, I've used it every day at work for years for my personal knowledgebase

> Cons: 1. Electron.

Sounds like you're happy with the performance though, why a con?

As a rule, I try to minimize the number of electron applications. Suppose I am reading something in my web browser and want to jot down something. Be it firefox and chrome, the demands on RAM is considerable at this point. An electron note taking app and VSCodium are also usually open side by side. God forbid if I have to open a fourth application and that is also electron, my system will start to mildly grumble. Note here, my system while not exactly a gaming behemoth, ain't no potato either.

I am not blind to the advantages electron brings to a developer. Including electron as a con is in no way a critic of the developer but a expression of disbelief that the developer world has not yet managed to agree upon and popularize a reasonable electron alternative.

PS: Webview hoards memory in linux for some reason.

Thats happy enough, despite being electron. I autoreject all electron apps because I don't have a fancy dev/gamer laptop.

That looks freakin awesome!

Let me add something here; Zim feels the most personally extensible (except for, of course, org-mode, I must admit)

I see a bunch of people here with laundry lists of requirements, and when I see them, I'm like -- yes, a lot of those seem reasonable, but I've also had the same, and I've just built them myself, with some very hacky Bash. But any language will work.

Examples..lets see. I add todo items from anywhere (including phone) with email. I use Blitzmail on the phone and an IMAP script on the computer to send myself a tagged email, then I have another script to check and parse and add them to Zims "Journal"

My personal website is in Zim. I have a short one-liner to update it to my server; but I also teach at a college. I learned just enough of the Canvas API to also update certain pages of it to my class webpages. Also another one to update the Slides I make in Zim as well.


I've been using Zim for at least 10 years for notes, todo's, etc.

Recently I updated my setup to use syncthing for syncing between my desktop, laptop, and my Android phone. On my phone I use Markor, an open source app that supports the Zim markup format (along with Markdown and some others). I've been pretty happy with this setup.

Wow, I left Zim for a Markdown based setup because I wanted to have an Android client. Settled on Markor, and I never knew it actually supported the Zim syntax. I'll be converting back asap!

Markor is how I came to know of Zim. I read the changelog (for the app) at first as "Vim Wiki support" and got excited, then realised it actually said "Zim Wiki".

ha, that's interesting to know. Actually not being able to see or edit my notes on a phone was the dealbreaker for me and the biggest reason I stopped using ZIM and only using a bunch of markdown files nowadays.

How happy are you with Markor on the phone? Is it good enough to edit your Zim files on the go or are there any bigger down sites?

I used to edit the Zim markup directly in a very basic text editor, so Markor is a big improvement. It offers syntax highlighting, some menu items for things like formatting, and a preview mode. So not wysiwyg, but still pretty nice. It also allows you to easily create new notes from scratch, which is kindof a pain if you're just using a generic text editor.

I do have some issues making nested check box lists (maybe I need to review the Zim syntax) and it's not clear if you can add images. Mostly I review and update my todo items, read notes, and write small notes. For that I've been pretty happy with it.

And syncthing is great.

Markor looks like a great way to view Zim files on android. Thanks for the tip! But it seems to access note files in the common filesystem space -- which for privacy reasons somewhat defeats why I prefer Zim over cloud-based solutions. Anyone know of a way to use something like Markor and syncthing in an isolated android sandbox? Currently I sftp notes into a termux environment and view/edit with vim, but Markor would be so much better.

I find that no app can make text editing on phone a pleasant experience. Typing replies on chat apps is my limit for phone keyboards.

Been using it for nearly a decade and have turned many people on to it.

I wrote about it some years back on my ugly blog: https://www.tidbitsfortechs.com/2013/12/tech-tool-tidbit-zim...

[edit. It said I turned many people into it which assumes that there are people out there who are Zims. Space invaders notwitstanding.]

I'm also using it for few years, the only complain I got so far is a lack of proper version for Mac OS and any mobile client. Obviously Python+GTK work on Mac OS, but few times either updates of Python, Mac OS or Zim itself, broke it for me. For mobile the only option is either to view files directly, or use built-in web server (though no editing is available in this case).

poof! you're a zim.

Always gonna plug Maggie Appleton's seminal work on digital gardening whenever conversations about personal knowledge systems come up. It has some great resources in there


Once again I'm going to recommend tiddlywiki[0].

It has the hackability of emacs but can run anywhere a browser can ( both online and offline ). And of course, an active community and ecosystem built around it.

[0] https://tiddlywiki.com/

Tiddlywiki is neat technology, but the fact that you have to choose a method of saving and are presented with ~13 different options just gives me decision fatigue.

I don't care to evaluate which plugin will actually _save_ my data. That's a pretty fundamental operation in my opinion, and the fact that I have to evaluate and choose from one of 13 options does not instill a lot of faith that my data will not be lost.

>> but the fact that you have to choose a method of saving

AFAIK there is a single default. Just use that. If you need more features you can go down that rabbit whole but I think tiddlywiki is very usable without any modifications like you're describing.

There is? The very second step in their Getting Started is

> The next step is to choose a method for saving changes. There's a wide variety of methods available, with different features and limitations.

I never get past the saving problem.

Last time (a few weeks ago) I tried rclone with WebDAV. I do what the instructions say, I get a local web site where I can open the empty.hmtl, I do the basic setup, write a tiddler, it says "Saved" and the empty.html is still pristine and never gets written.

The times before that I tried several other ways documented on their web site, but failed with all of them. git? Only GitHub (and GitLab) seem to be supported, not my own git repo. Or SourceHut.

Cloud connectors? Which of the three? I've tried at least one of them, didn't work.

I wrote this[1] because I wanted something that didn't require any setup and I didn't want all kinds of features getting in my way. Just run the server and have it save the wiki to my hard drive. I guess you do have to install a D compiler in order to compile it, which might be classified as setup.


Bookmarked! I won't try it soon, but I will. Compiling a D program doesn't seem to be difficult.

I hear you on this problem and it took a while to find a solution I like. Ultimately, I went with https://github.com/Jermolene/TiddlyDesktop and file syncing tool of my choice. It seems to work well, but you can have issues if you simultaneously edit.

I just run tiddlywiki on the node js server[0] and haven't had any problems.

[0] https://tiddlywiki.com/static/Installing%2520TiddlyWiki%2520...

I had the some problem, and several months ago (8?) I put together a small python script that I run that handles saving for me seamlessly. It also keeps around a handful of backups for each wiki, and provides an index page so I can swap between different wikis as I need to. I'm now all-in on TiddlyWiki and I've never been happier. I manage about a dozen or so wikis this way.

I haven't yet gotten around to properly hosting the source code publicly, but it's just a single python file that I run locally. To actually replicate the wikis between my devices, I use Syncthing. I'll be happy to put the source code up if folks are interested...it'll probably take only an hour or so.

I don't use tiddlywiki but I have tried widdler https://github.com/qbit/widdler it's a WebDAV server that handles saving.

I just tiddlywiki with the --listen flag on a Raspberry Pi. I also expose it to the outside world by running it behind Traefik.

Also see https://tiddlywiki.com/#WebServer and https://www.npmjs.com/package/tiddlywiki

I've been using Tiddlywiki for my technical notes. Before I was using Evernote and Notion, both would format my code blocks and it was just easier to use Tiddlywiki with a desktop app for saving.

But my concern with Tiddlywiki is extracting the data if needed, there was a time when my wiki had some file issues and lucky that I was able to recover without sorting the files manually.

It's been a while since I've actively used tiddlywiki, so I don't have actual code snippets at hand - but extracting "tiddlers" should be the least of your concerns (at least, that was my experience when I used it).

Just open the tiddlywiki in your text editor. All your tiddlers are neatly filed away at the bottom. It's that simple.

In fact, I had a folding expression in vim which folded everything neatly, and allowed one to just navigate between tiddlers, all in vim.

If its that simple to interactively browse through the data without running the javascript "engine", then you can see how trivial it is to pull out any or all tiddlers, on demand, out of the tiddlywiki.

Hope that helps

Thank you, I wasn't aware it's that easy. I have gotten around the saving issue with the desktop clients, they work decently well. I also love the tree view which many note apps seem to move away from.

> It has the hackability of emacs but can run anywhere a browser can

Needing a browser is definitely not a positive. The website taking two seconds to load even when in cache while zim is absolutely instant even on potato PC neither.

I think being able to view your wiki from any browser is a positive. I don't need a separate app for my phone, I just access my wiki website and everything works the same.

Using ZIM on a daily basis for more than 10 years. I use some of it's features more often than others:

- check lists as todo lists

- daily log

- drafting slides for presentations (using export to Presentation option and S5 option)

Primary way of syncing to other devices - shared nextcloud folder.

Pro: plain text files - can be edited by any available text editor in case I want to edit notes on an unsupported devices.

Cons: I don't like when it automatically creates notes for all phrases written in CamelCase. It is a wiki, but i don't use it as a true wiki, but as a bunch of notes.

> Cons: I don't like when it automatically creates notes for all phrases written in CamelCase. It is a wiki, but i don't use it as a true wiki, but as a bunch of notes.

There's a preference to ignore CamelCase:


Amazing little app. I'm also very thankful to Zim for the fact that I still have the easily-searchable text files from my years of Zim use over a decade ago. It made it really easy to recover things that I wrote back then, because they were never really tucked away inside of a database somewhere.

Back when I was searching for a good note-taking system, each and everyone of them had one feature that I wanted that was missing. Zim Wiki was the first system I decided to stick with, and after 4+ years I never gravely missed anything. However, if you don't like organizing your stuff hierarchically, your experience might differ. Also, I kinda dig the desktop-centric approach. It feels more like a real tool than just some kind of "app".

Because it's written in python it is comparatively easy to extend and through its integrated web server you can serve up your notes with a custom design in no time.

Zim is awesome and did everything I used to use Evernote for but run on mobile. The notes are kept in plain text, so there’s no lock in. I am glad to know that the author is out there and released the code for us, because that will be usable so long as the necessary Python version is usable (lol).

This might be a little odd but I get a very “homey” vibe from the program, like, there are parts that aren’t as polished and improvements are slow and steady over the years, but there’s something of personal touch that makes it charming to use.

Not long ago, I ran through a bunch of wiki programs and eventually landed on Zim as my comfort zone. It's very light, looks pretty good, and just works! The syntax is a bit weird, and as someone mentioned, it doesn't handle code very well. Still really great and an easy recommend, though.


I did nearly the same thing trying to get a knowledge base started for high speed digital circuit board design. I don't have much time to work on it these days though, so it's still light on content. I love how simple Zim is to work with and export to a static site but eventually it would be ideal to allow anyone to edit like a typical wiki.


is your wiki still public? the link at the end of the article didn't work for me.

I should probably update that post. I took it down because of some issues with my hosting and then never really got around to bringing it back up. at the time, it only had about 20-30 items though.

I can tell you the export to HTML functionality is solid, but for something like a wiki you really need searchability which as far as I know zim templates do not provide. The available templates are also not responsive other than maybe the eight-five-zero theme that i modified for my site.

I really want to share logseq[0] if anyone isn’t yet familiar with it, I’ve been using it for a few months and it is absolutely fucking superb.

I like it so much I became a sponsor. Same kinda deal, writes markdown you spaff at gitlab or wherever, but with a graph, amazing linking and soft (unreferenced) links, it’s literally my external brain at this point.

Few tools I can recommend so much, and it doesn’t even have a vi mode yet. I hope to continue using it for many years.

0: https://logseq.com/

Logseq is cool. Do give Zim a try if you can, it’s been around for a while and is one of the more thoughtfully designed OSS GUI applications. Python and GTK impose limitations on the flexibility of extensions in general but it’s pretty fast and easy to extend otherwise. In terms of WYSIWYG I still don’t see anything much better on Linux.

The main reason I don’t use it today is my mobile and tablet experience is much better with Craft, which feels similar to Zim in its WYSIWYG mode (but more like Notion). However, I can run Zim fine on an older raspberry pi, which I can’t do with Craft and wouldn’t bother to try with Obsidian. My cloud-hosted Craft notes aren’t gonna survive after decades of supply chain crises and global turmoil, but my Zim notes and the application will probably outlast me with even a half baked plan.

Logseq is also oss, obsidian I believe opening is planned but dunno much about the status, don’t keep up with it.

Why wouldn’t you bother to try it? When I was doing my oscp I had to take mad amounts of notes, I tried zim, cheeytree, a few others I forget and obsidian was clearly the best, electron notwithstanding (and it was religious to me also, but really it has improved quite a lot since we formed our views about electron)

These days, I tend to use obsidian for longer form entries, in the same repo I use logseq primarily (and with working copy git client on my phone, obsidian mobile gives me access to all my logseq files, stopgap until they release the mobile app).

Obsidian can get a little slow even on a T480 with 32 GiB of memory, though usually there's no issue but noticeable startup time. Sublime didn't run on the Pi I had and VSCode was too slow (this is why I ended up learning vim last year, at last). Given my experience with VSCode and observing other apps like Chrome, I assume it wouldn't work that well. However, I'm not sure I was even aware of Obsidian when I was using that machine every day. It and Chrome, VSCode etc. certainly could have improved since then (maybe 1.5 years ago)

It doesn't appear that the Obsidian devs have any plans to open source the project [1]

[1]: https://forum.obsidian.md/t/open-sourcing-of-obsidian/1515

12 years and counting - home, work and business notes - I've tried lots of others but this is still the best notetaking tool out there

* It never changes - the same user-inter face,the same muscle memory, for over a decade * Pages are stored as plain text files and sub pages in sub folders - which means attachments are also in subfolders * The index and todo list can be re-created from the files at any time * Pages are saved as you type them * As well as full text search, you get the ability to instantly search for page names

I have used zim for notes for well over 10 years now, maybe 15.

It has made the all the difference in my career.

To any new person I know in my career I try to hammer home take notes, all the time take notes. I always wondered if some day I could write a book just from it

I have experimented with Cherrytree, I did org-mode for a year. Recently I did Obsidian.

Keep coming back to my beloved Zim.

Super extensible without being overwhelming.

I do my personal notes, my blogging, my course website and even my Slides (instead of Powerpoint) with it.

Any thoughts on Obsidian vs Zim? I've had both of them downloaded for a long time now, but I've yet to really dive into them as my old habits of saving quick thoughts into .txt files are hard to shake off

If open source matters to you, keep in mind that [Zim is libre][zim-github] (GPL 2), while Obsidian is [proprietary].

Obsidian: faster rate of change, Markdown, closed source, aesthetics

Zim: stable, open source, aesthetics, not Markdown

[zim-github]: https://github.com/zim-desktop-wiki/zim-desktop-wiki

[proprietary]: https://forum.obsidian.md/t/open-sourcing-of-obsidian/1515/4

Obsidian looked so much better than Zim that I was compelled to try it, but I'd been using Zim for well over 15 years beforehand.

So Occams razor might just be "I'm more used to it;" though there might be an argument for Obsidian growing too slick too quickly? It's got a LOT going on and looks like its flashier and has more features, perhaps too many for me. Also, if mobile is at all important, you probably want Obsidian.

Thanks for the feedback. Ugh I really wish there was a good enough common notes format standard that would make these decisions less difficult. I'd like to be able to easily take my data with me to whichever note taking app I wanna try out

The good news is you can work by just saving plain text and then viewing it in the GUI. Obsidian looks pretty but is slower and not as stable. I haven’t gone back to Zim yet but there’s nothing Obsidian really adds beyond GUI polish IMO. Obsidian has the advantage of mobile apps, but the story there isn’t superb — I have a better time piping text into it through Drafts. The iPad version of the Craft notes app is superior but it’s also much more locked down in every sense. I still use Craft though because I’m trying to simplify things these days, and I’m a sucker for OS integration.

One thing that Obsidian has that zim does not is the ability to invoke vim keybindings.

Looks good. I've been using VimWiki and really make the most of it's ability to link to local files and directories with file:// . This makes for a superb way of keeping on top of various admin tasks, as I just write a checklist, and link directly to the local file or remote dir and I'm away. I would like it even more if I could link to specific emails with email:// . There was a thunderbird plugin, called thunderlink, where I did get this working, but then thunderbird stopped finding the emails, so I lost faith in it.

This is what I use for all my notes, and my tasks, and my schedule.

Amazing application. Comparable and better than everything I've seen on hacker news over the years.

My only complaint is no mobile client, though markor can generate a Zim-Wiki file.

Thanks for mentioning markor, I was searching for something similar! How do you sync your notebook between your phone and your computer, if you don't mind me asking?

Haha, this isn't very hacker news but I bought a usb stuck with a usb-c port on one side and a usb3 port on the other. Copy and paste.

No third party apps, just my version of sneaker-net.

Great! Whatever gets your job done.


How do you sync between devices? Dropbox or Syncthing?

I find myself favoring self-hosted webapps over local running apps. It eliminates the "no client for X platform" problem while also providing syncing across devices.

I replied to c-st. USB memory stick.

Another really good program (that I personally prefer) is Joplin: https://joplinapp.org/

I wanted to like it, but the iphone client was too buggy, unusable :(

Ah, that's too bad. The Android one is OK.

I've tried a lot of note taking apps and Workflowy[0] has been my favorite for the last ~5 years.

At its core it's a bulleted list that you can expand and collapse. Super simple and works just as well for quick ToDo lists as for in-depth ideation and project tracking. Recently they've added features such as tags and boards, which I mostly ignore, but the core product is super simple, powerful, and flexible. 100% free and with good web, mobile, and desktop apps.

[0] https://workflowy.com/online-notepad/

No idea why more notetaking apps have not copied the 'bulleted list that you can expand and collapse' functionality.

FWIW, Logseq[1] can do this outliner stuff.

[1]: https://logseq.github.io/#/page/Contents

I've been using Google Docs for my note taking and have been very happy with it, but the news I've heard about suddenly closed accounts with no recourse for recovery make me skeptic of its long-term viability.

Yeah it's super convenient, I do it too. But like you I'm growing wary of putting all my eggs in one basket especially with how dysfunctional these large tech companies are getting and all the horror stories of account lockouts.

The one thing I'd miss about shifting to a local note taking program is just how easy it is to share / collaborate Google Docs with people. Click one button and there's a URL for it anyone can view or potentially edit, served instantly through their fast servers.

Zim should be a Vim clone written in Zig.

This looks like a lightweight improvement on my current one-text-file workflow. Might be worth trying out.

It's like you woke up and decided to post exactly the thing I've been looking for over the past 6-12 months

Not to be confused with Zim [0], a zsh configuration framework that's generally faster than oh-my-zsh [1].

[0] https://github.com/zimfw/zimfw

[1] https://ohmyz.sh/

Or Zim [0], the file format for giant offline-readable Wikipedia archives.

[0] https://wiki.openzim.org/wiki/OpenZIM

There's been a great app for the Mac like this for years and years:


Another thumbs up for VoodooPad. I've run it for years without a glitch. And it serves pages to my local net, navigation links and all.

For me the killer feature of Zim is the native integration with Git. It's super easy to write and commit, write some more, commit again. You don't even have to leave the editor interface.

I've coupled this with git pre-commit and post-commit hooks which basically ensure that the changes are always pushed to GitHub.

I've found a similar application for Android called GitJournal. Unfortunately it doesn't do the wiki syntax which Zim recognizes. Only markdown and plain text. So I have a separate repo for my mobile notes. They're usually much shorter anyway, the type of notes you'd put on a sticky.

Hopefully one of these tools will learn the format of the other in the future. That would allow us to use both of them on the same repo.

I'm the GitJournal author.

I'd be open to adding the zim wiki syntax support, assuming I can have at least one designated person who uses Zim, and can test things out and report issues. GitJournal now has basic support for OrgMode, and the code is now in a state where it doesn't necessarily assume Markdown.

How about you file an issue on GitHub? [0]. Ideally, if you could get some other people to vote on it, I'll be more motivated to prioritize it.

Additionally, do you know a good source for the zim syntax? I see [1] and [2], but I'm not sure if I'm missing more.

[0] - https://github.com/GitJournal/GitJournal/issues

[1] - https://zim-wiki.org/manual/Help/Wiki_Syntax.html

[2] - https://zim-wiki.org/manual/Help/Check_Boxes.html

I'd be happy to help. I do use Zim on a daily basis and would love for GitJournal to support it natively.

On Android I use Markor to edit text -- it also recognizes Zim Wiki format if I remember correctly. And then Termux is nearly a full Linux distro with convenient touch icons for things like Tab, modifier, and arrow keys -- I installed the git package for it and used that to push/pull to my GitHub repo. Maybe that could be a solution for you?

Thanks for sharing, but this approach is not what I'm looking for. Being able to (auto)commit to git from the editor is priceless to me.

I've used Markor but there's too much file management involved, instead of organising pages at a higher level and letting the app handle the filesystem ops.

It's silly. But I want these features in my offline personal wiki:

- sortable table like wikipedia's

- sortable list and other list manipulation tools from dynalist/worflowy's

- automatically adding titles when you copy links of articles/videos/etc.

I'd like to think I'm not the only one who mostly uses lists and tables to organize information and notes. Quick googling says org-mode can do the first 2. I tried spacemacs and it was just confusing. One day.

Obsidian (https://obsidian.md/) + a few plugins (enable on the "Community plugins" page in settings):

- Advanced Tables (handful of features including sort col while in edit mode): https://github.com/tgrosinger/advanced-tables-obsidian

- Sortable (Wikipedia-like col sort for view mode): https://github.com/alexandru-dinu/obsidian-sortable/issues

- Outliner: https://github.com/vslinko/obsidian-outliner

- Auto Link Title: https://github.com/zolrath/obsidian-auto-link-title

For even more fun:

- DataView: https://github.com/blacksmithgu/obsidian-dataview

I'm pretty sure obsidian can't sort lists. Especially nested multilevel lists. I tried it before and it got too much annoyances without obvious benefits, so I went back to dynalist.

Org-mode can do number 3 as well: https://github.com/rexim/org-cliplink

Can't argue with it being confusing. It takes some effort in the beginning until one day you realize that your mind blended with the machine.

Good to know. Thanks for sharing org-cliplink.

I’ve been using Doom Emacs for over a year. Previously I was using nvim for over a year, then VSCode for a few years. Doom was reasonably easy for me to understand, use, and extend.

I will give Doom Emacs a try. Thanks.

I used to use this all the time and its a great app. But when I moved to Mac, it was not there for me. I recently started with https://obsidian.md/ and I'm pretty happy with it. Its all markdown and it converts from markdown to formatted text as you type. Plus, the price is right fore personal use (zero!)

Zim is a fantastic tool, the best in its class. So far - 2628 notes and counting.

Fantastic piece of software. I wish there was an android version so I could sync between my desktop and phone, but it is still brilliant.

Markor supports Zim files, as of a few versions ago

Thanks. This is great and works pretty well. I use SyncThing to sync the files between the Phone and my Desktop so all my changes get sync'd bidirectionally automatically.

I “solve” this problem by storing my phone’s notes in IMAP, and dumping them periodically into my main notes.

That solves writing. I find it actually works because phone notes tend to be write only — little snippets of information that record something important and never get edited again once they are written, to be turned into a “real” note at a later date, once in a system that supports “real editing”.

For reading notes I dump everything onto a personal website.

I second that... There are a lot of times when I want to make notes or find information that I want to add to my Wiki (hosted on my desktop) from my phone or just want to search for something and having an android app that lets me do that would be fantastic.

I was using TiddlyWiki, but I stopped about two years ago. I use OneNote for everything because I am primarily Windows based, but I do have an iMac and Linux machines too. I may give this a try. I still go back to pen and paper in bound books a lot, but for listing and sharing this looks good.

I used OneNote in school and really liked it but no native Linux support is a deal breaker. The web client is far too slow and frustrating to use on a daily basis.

I haven't tried the web app or client. I have Office 365 with the desktop apps. It's amazing how long OneNote has been around. It's like an endless notebook/media repository with tabs!

Do you know of any other app that is even close? I had Scrivener on my Mac for writing, but it didn't work well for project management/note taking.

Markdown solutions are there, but nothing as cohesive as OneNote as far as I have found.

Zim is not very known but this tool is really awesome!

I use it for a few years also.

I like it because it is simple, efficient, fast. Straight to the point. Not like all these cloud and electron apps.

And the main top feature of this tool is that data are stored as plain files in a simple folder structure.

I use this at work to keep my notes on our code base. There's a bit of a strict policy about using unapproved apps, and it makes me a bit nervous there is git integration. I definitely wouldn't want anything to get pushed someplace somehow.

I ended up switching to FOAM (the vscode extension) for personal notes because it's markdown and has much better support for inline planuml and showing node connections as a graph, but I haven't actually bothered changing my work notes away from ZIM because once stuff is in it, it kinda just works. If you don't care about visualizing links between different pages, it does a great job at making hierarchical notes searchable. My biggest gripe was that inserting plantuml code was really clunky because it doesn't update live (you have to submit your changes before seeing the result) but it's still very functional.

I can't speak to plantuml support, but Zim was--guessing here--one of the first to visualize links. Look at the plugin "Link Map." Been using it long before the current crop of markdown knowledge gardens came about.

I did install it, but it's much more clunky. It doesn't update live, it opens in the browser instead of zim and after a while i figured out it didn't show everything, but stopped a about 5 nodes from the main current one. The graph is also pretty ugly.

Maybe they improved it since, but the Zim graphing capabilities just didn't even compare to foam's last time I tried it.

I've used Zim about 8 years ago, but lost interest after a month. If I remember correctly, there were no Windows builds for a time, just an instruction how to compile it.

I've been looking at Logseq and Obsidian recently.

I use Zim on Windows. It just works.

A bit off-topic (but still related to making Markdown more usable), I found an Admonition plugin[0] for Obsidian the other day that really knocked my socks off. I love having visual guides in wikis that help draw your attention to various things, and this is really perfect for my uses. If Zim had a similar function, I might be tempted to start using it again...

[0] https://github.com/valentine195/obsidian-admonition

Can you help me out? You have a lot of great alternatives - does any of them allow to arrange notes in a tree-like manner, like a mind map? A graphical tree/mindmap that links to longer articles?

I think I saw an opensource tool like that before, but lost track of it.

EDIT: I'm trying out some of your links. Logseq seems cool, has a strange logic but has some graph visualization of nodes and plugins with direct mindmap support. Feel free to make suggestions anyway!

> I think I saw an opensource tool like that before, but lost track of it.


Look really cool, but after testing Logseq I think I'll stick with it. It allows me to paste code snippets/shell scripts easily, and this is a large part of my notes at work.

Logseq has a bit of a learning curve (it's simple but confusing) but after initial shock it has everything.

I used to love zim! I used it for a few years, but when i started travelling for work, it became tough to keep up with notes since i really needed a mobile client. Nowadays, it feels like 50% of my notes are captured while on the go, so a mobile client is now by far absolutely required for my workflow. I still give zim team lots of love, but just doesn't fill my needs as it used to.

What do you prefer to use now?

I actually have my own little nextcloud instance running on a $5/month digital ocean virtual private server. My intent was for family (only 3 people) and i to use it...but honestly, most of the time it is only me. I draft conventional old text files (though i do use markdown)...and save the files in a nextcloud folder to enable sync anywhere. For actually synching and drafting of the text/note files, i have the nextcloud mobile app as well as the nextcloud notes app on my phone (https://github.com/stefan-niedermann/nextcloud-notes)...so now i can jot down notes anywhere that i carry my phone. I do lack some advanced features that zim wiki would bring, like linkages, some color formatting, styles...but for my workflow i found them not to be ultra necessary anyway. Side note: i use nextcloud for general file synching, rss/feed reading, and other functions...so it was not setup only/specifically for notes...the note taking just came along as an extra benefit. Any headaches in managing my own nextcloud instance (and just like managing any of your own infrastructure, there are always costs), are outweighed by all the features that i legitimately use/benefit from nextcloud.

If you use nextcloud, you could also use other text editors on mobile phone like joplin, qOwnNotes, etc. - so you are not stuck only with the nextcloud notes app. Also, if you are not an adherent to open source software, my workflow can also be used via dropbox, box.com, onedrive, etc. too i suppose (you're just drafting notes on the road and saving them up to someone e;lse's server/cloud). I hope that helps!

I'm using Confluence for note taking and as a diary and it works pretty well (search functionality is beyond abysmal), compared to all the other options I've tried.

But this one is the first desktop application which is really interesting and could have become my solution for these tasks. I'll definitely keep it installed and try it out.

Does Zim support inter-document linking to arbitrary locations?

I feel like at some point I must have tried Zim, but for some reason I abandoned it. Perhaps it was the inter-document linking/referencing thing. Or it was its markup language having other limitations? I don't remember.

Nowadays I do all my note taking and knowledge storing using org-mode.

Zim, the worst software I use daily. This was a weird realization.

Why worst? Anything you try, except for writing text, does not work the way you would expect and usually works in exactly the worst possible way. Good luck copy/pasting anything.

I really need to find a better note-taking that does not try to do a fancy "mind map".

Is the Zim format used in this the same as the one used by Kiwix to store an offline copy of Wikipedia (and others)?


No, those have nothing to do with each other. It's just a name collision.

Zim Wiki uses plain text files with its own markup language.

Is there a similar app to Zim that is properly native macOS? I like the concept and the features of Zim, but it's a bit unwieldy on the Mac. The UI doesn't look native, the shortcuts are a bit strange and it's slow. When I click on maximize window (as an example) it took 3 seconds.

Good memories from Zim.

I used OneNote 2016 after Zim in a period where I was stuck on Windows anyway but modern OneNote broke so much that I don't use OneNote anyway even if it is now cross platform.

The last year I have used Joplin which is awesome.

Lately though I have used Logseq for no other reason than that it feels even more awesome.

These are the features I'd like in a wiki / personal knowledge engine:

- Not a service. This has to be durable and portable.

- Backed primarily by git and plaintext files, not a database. Explorable and manageable on the filesystem.

- Markdown

- Hyperlinks to articles that show up red if the page doesn't exist (yet). If a page is renamed, all hyperlinks to it must automatically update.

- Multiple tags / categories can be added to any page. Bonus if it supports hierarchical categories. These get indexed and can be bulk managed. When pages are updated and their tags change, the system automatically handles the bookkeeping.

- Indexed fuzzy search better than grep

- Server + browser interface (mobile friendly). It should also support editing from the browser and saving back to git.

- Native desktop app. Less important, but also enforces that git, files, and a simple set of indices are the core data model.

- Sync over git / github with easy diff fixing

- Publish to a public or private website. Bonus if statically rendered snapshots are supported.

- Despite all of the ancillary indices and support mechanisms, it must remain CLI/vim editing friendly. Indexes and links should update as a post commit hook or async job

- Images and media can be uploaded to a secondary service that handles indexing, hosting, backups, and thumbnail generation. This is a whole set of concerns all on its own.

tl;dr: git + markdown data model with a bunch of bookkeeping, indexing, and tooling on the side

I haven't found a good fit yet, but I haven't explored the entire space. I might just write it one of these days.

Definitely looking for recommendations!

Edit: thanks for the suggestions! :)

It only fits about half your criteria, but I'm liking the vscode extension FOAM. https://foambubble.github.io/foam/

it's basically a clone of Roam Resarch as a vscode extension that uses Markdown.

It's markdown, has a desktop app (vscode), since it's just markdown you can put it all in git with easy diffs, vscode allows you to search the entire project for words, it has tags. It even has a window to see your notes as a star map where you see the links between the different markdown files, but they also recently added tags to that starmap.

You also get to use other extensions compatible with markdown like render inline plantuml and stuff like that, which is what is the nicest about it being markdown.

If you're serious about making your own, I would consider contributing to FOAM's project instead.

THX. Came here to ask "great - I love Roam and it is the most used app of my whole toolbox after my browser. That's also the only one non FOSS"

Notable has most of what you want except for the git integration. Though the author maintains that you can just save your notebooks to a git repo.

I mentioned this in another subthread, but have you checked out Obsidian [1]?

- It's a product, not a service (they do offer their own paid syncing service though)

- It is backed by plaintext: markdown files in folders. As for Git, I'm pretty sure you could use it easily- and I noticed there's also a community-supported Git integration plugin [2].

- Just tested link renaming, it's there.

- It does have a tagging system. I haven't used it extensively enough to see if the rest of your requirements are met, but it seems very thorough.

- The desktop and mobile clients do support full-text search. Not sure how it's indexed but it is quite fast.

- Server + browser interface: unfortunately, it doesn't look like this is the case out of the box, but since the files are Just Markdown On A Filesystem I feel like you could probably just have a completely unrelated server to make changes to them.

- Native desktop app: hate to break the news, but the desktop app is Electron. That being said, it's extremely snappy and doesn't seem like a complete memory hog. (A cursory check of Activity Monitor says it's got four processes running, using 127 MB, 73 MB, 55MB, and 11.8MB.)

- Sync over git/github- again, community supported, but the plugin [2] looks quite solid and offers plenty of the kind of features you might like. I would also note that because everything's just Markdown files, other syncing mechanisms like Dropbox or iCloud "just work". They have a mobile app as well, and seamless iCloud syncing has been the killer feature for me.

- Publishing is an interesting one. They do have a paid service which allows you to "publish" vaults, which basically means they do the static rendering and then host it for you. It looks like their static rendering gives the published version of a vault a "table of contents" pane and other stuff. I imagine it wouldn't be too tricky to do this oneself, and you could possibly even integrate it into the editor.

- So, CLI/Vim editing works like a dream. I just edited a file from Vim and immediately saw it updated in the desktop and mobile apps. Updating backlinks works in the app just fine, but simply moving files around in the filesystem doesn't update backlinks.

- Yeah, this kinda is a whole concern of its own, but for what it's worth: images and media are stored in the same directory structure as Markdown files, and can be embedded into a "note" via linking. (like ![[imagename.jpg]]). So I imagine you could keep them in a separate directory that's gitignored or something like that.

1: https://obsidian.md/

2: https://github.com/denolehov/obsidian-git

This is seriously awesome. I've tried it out and I love it. It gives me exactly what I want, and if I find anything missing it'll be easy to implement.

Thank you for sharing!

I just use a private WordPress instance with minimal theme. WordPress has fairly good Mobile admin app. Quite close to a cross platform solution. However, I wish iCloud notes had photo upload feature to make it true cross platform.

A very nice little mixed-media editor. Slightly more heavyweight in terms of file dependencies than I'm used to on Windows (but makes sense given cross-platform origins).

Strikes me as similar to the excellent (but unfortunately abandoned) NoteLiner.

I really like Zim for journaling and transcribing RPG texts for easier reference.

I am very glad to see that Zim has gotten their Windows builds working again.

Used Zim for several years to maintain personal wiki for tech support tasks (mostly email drafts / canned responses on different topics). But I don’t use it now and don’t recall why I dropped it.

If you like this, you might like ZuluPad - http://zulupad.gersic.com/zulupad.html

Don't forget Wikidpad -- https://github.com/WikidPad/WikidPad Hard to beat!

Though it is great, WikidPad only works on Windows. Zim is multi-platform.

This is actually what I was looking for some time ago. Thanks

Its quite nice but it has one big disadvantage.

Its not possible to DISABLE WORD/LINE WRAPPING which is very annoying.

Zim is SO close to perfect. It just needs better Android support.

This looks like RedNotebook... is it some kind of clone?

I've been using Zim for daily journalling.

THE GUIDE it's just much much better!

It is/was awesome! -- http://theguide.sourceforge.net/

It seems to be for Windows only.

How does it differ from OneNote?

What an awesome app

I wish it would eventually move to Markdown in a large version change, to open the door to direct-to-MD publishing

Jaap is open to it but it's lower priority. It's been an open issue for years https://github.com/zim-desktop-wiki/zim-desktop-wiki/issues/...

Do you have by chance an idea how the rich-content plugins might work with markdown?

Tables could just be HTML, but stuff like Gnuplot diagrams or GraphViz graphs need to store their input data aswell as the actual rendered image.

Check out https://obsidian.md/ if you haven't already.

Seconding Obsidian. I started using it recently (admittedly for TTRPG notes) and I really like it! I haven't done a lot of cross-linking but it seems to work really well!

Even better, it stores everything in plain Markdown files in a folder hierarchy, so you can easily back everything up and/or interact with them outside the app if need be.

Even EVEN better, they have mobile apps that are perfectly happy to let you use your own file-syncing mechanism if you want to (although they do offer a sync service of their own as well.) Once I got it set up, everything Just Worked.

I just started programming in zig and I have to say that the tooling is incredible. It has things that I never knew I wanted as a C programmer, like automatically detecting undefined behavior and integer overflows. If you’re looking for an alternative to C for a greenfield project I highly recommend it.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact