TLDR: After the fantastic Trilium Notes entered maintenance mode, a significant group of community members (including myself) have committed to moving the project forward.
🎁 An official backward-compatible TriliumNext Notes release should be available soon!
If you haven't heard of Trilium Notes (Or TriliumNext Notes), you should check it out. For an example of what TriliumNotes looks like, you can check out the slightly outdated screenshot tour. Trilium Notes is IMO the best truly open, and truly libre note taking software that exists.
Originally coming from OneNote, I've tried many...many alternatives, and it has been a joy switching to TriliumNotes.
🍻 This free (gratis), open-source, self-hosted, personal wiki/note software offers all the following with no nags, no paywall and no restricted features - you get all the goodies up front!
- Note cloning (notes can exist in multiple locations at once)
- Interactive note visualization maps
- Various note types (canvas, mermaid diagrams, web view, relation map, code, etc)
- Various bulk folder import and export options (HTML, Markdown, Text)
- Revision history (and recent changes view)
- Scripting (Very powerful - automate tagging, deletion, etc)
- Full documented ETAPI for external scripting or development
- Browser extension for web clipping
- Fast fuzzy search & advanced search (search by tags, parent note, size, etc)
- Sharing notes with a public url with a simple toggle
- Encrypted notes
- Extensive and versatile note tagging (inheritable tags, relationship tags, etc)
- Note note tabs, zen mode, multi-note views
- Note archiving
- Note linking and embedding (embed notes inside other notes)
- Full wysiwyg editor (with markdown and math syntax completion) - external editors supported
- Unlimited note nesting
- Daily note journaling feature
- Extendable with widgets, custom plugins, themes, scripts, etc
- Customizable keyboard shortcuts (and VIM keyboard bindings)
- Automatic note syncing to server (or other clients that are setup in 'server' mode)
- Automatic backups
- Cross platform (Windows, Mac, Linux, Flathub, Docker - very simple compose)
- Good documentation, Matrix support chat, Github Discussion forums, awesome lists
The main downsides are:
- The mobile (android) app currently is only for composing notes (not for reading other notes on the server). You must use the mobile browser version (which works quite well) to get a 'fuller' experience. (The new TriliumNext project does plan to improve the mobile experience).
- Only one user per server is currently supported (this is a high priority for the TriliumNext team)
- Some people don't like database note taking software since they prefer files in a directory, but this isn't an issue for me since I can automate the export of TriliumNotes (using the api) and save the notes to Nextcloud or my local file system for easy viewing.
📢 If this project interests you, you can follow the progress on github and get involved if you would like to see this project flourish! There are teams to help with development, issue triaging, documentation, testing, etc.
🗳️ If you'd like to vote on the new TriliumNext logo, you can do that too!
Happy Note Taking!)
Database storage for notes is a non-starter for me.
I've never quite understood why this is such a non-starter for most people. I just simply set up a script to export my Trilium notes to Nextcloud as flat files so I can still read my notes anywhere even without a Trilium client. Trilium also allows you to edit the notes with an external editor, and then you can just re-import the note to update the note in Trilium.
It's a non-starter for me because I sync my notes, and sometimes a subset of my notes, to multiple devices and multiple programs. For instance, I might use Obsidian, Vim and tasks.md to access the same repository, with all the documents synced between my desktop and server, and a subset synced to my phone. I also have various scripts to capture data from other sources and write it out as markdown files. Trying to sync all of this to a database that is then further synced around seems overly complicated to say the least, and would basically just be using Trillium as a file store, which I've already got.
I've also be burnt by various export/import systems either losing information or storing it in a incompatible way.
Thanks for the clear explanation, that makes sense to me. For me, I just use Trilium for all of the above, so it doesn't affect me, but I could see how it would matter for those using it in the way you are 👍
Some people have different requirements. Some have been burned by a program becoming obsolete or migrating between programs and finding out getting their data was (at least initially) beyond their capabilities. Some don’t see the tradeoff of having true rich text as worth it.
I’m not in that camp, but I can see the appeal.
The summed up version of your comment is that you also go out of your way to work around the database issue.
I can see your point, I should have clarified that I never use an external editor myself to edit the notes, I was just saying that you could do that if you needed to. I only export to Nextcloud so I can view it there just as I would have to save to Nextcloud if I was using Obsidian or some other file-based note-taking app.
Those two lines right there.
I value interoperability between software. Using a container format to store plaintext files and metadata introduces an XKCD 927 situation where it's just another reinvention of the wheel that requires additional software support or a whole other workflow for no real benefit. Why is it necessary, for example, to store plaintext data and the related hierarchical structure in a container format when the same feature is already present in the filesystem with files and directories? It adds unnecessary complexity, roadblocks, and points of failure.
I'm using QOwnNotes at the moment. If I want to edit a note, for example, using neovim through SSH, all I need to do is navigate to the markdown file and open it. No scripts, no export/import. Only text files, and that is all it ever needs to be.
It makes for very handy use cases where other applications can work on the same data. This could be easily adding content into your notes (without needing an API to do so), using external editors for working on certain aspects of your notes, or even just the super handy convenience of having everything in one directory structure.
My Obsidian notes are right inside the same folders as the PDFs and other resources they refer to. I don't have to have a tree structure inside my notes and then the same tree structure in my hard drive or Dropbox or wherever with all my other files.
I was a 10+ year Evernote veteran, and I couldn't go back to the single DB style like Evernote or Trillium. I wish there was an open source competitor to Obsidian, but alas not yet.
And as @acockworkorange@mander.xyz rightly points out, people (me!) have been burned in the past by a program becoming obsolete and having your files stuck in some proprietary format. Plain files right in a folder on the disk is the way to go.
Why would I want to do the extra work when there are other options available that just don't store the notes in a db?
Does your script handle bi-directional sync or one-way only?
Just one way since I have never found the need to edit the notes in Nextcloud