Hacker News new | past | comments | ask | show | jobs | submit login
Trilium Notes: Markdown autoformat personal knowledge base (github.com/zadam)
233 points by en3r0 on May 28, 2020 | hide | past | favorite | 78 comments

I've been singing the praises of this app every chance I get.. it's really pretty much perfect.

* Free (beer/speech)

* Self-hostable, including the sync server, which doubles as a web-accessible version of the app (++mobile access!)

* Extensible (want UI elements that do things with your notes? Easy. Want to render graphs based on metadata you've entered? No problem. Your own metadata and tagging scheme? All built in.)

* Encryptable (built in encrypted notes function)

* Syntax highlighting for most languages you probably care about

* Exportable, no proprietary formats

* Notes can be written in markdown

* Truly cross-platform (Mac/Linux/Windows/Web)

The tiniest of gripes can be directed at things like requiring you to use a key combo to insert a link (rather than letting me, say, use some markdown and autocompleting it), but that's minor. This blows the Evernotes and the NValts and quite possibly even OrgMode out of the water.

My biggest gripe trying it now is the poor keyboard shortcuts in windows.

Hitting ctrl+s is a reflex and while it might not need saving, it's annoying that it redirects focus to the search.

Likewise, F2 doesn't rename, instead tries to do something difference.

If it proves useful anyway I'll try to contribute a keyboard shortcut map to be more consistent with windows or VS, it might be annoying until then however.

I think this is done specifically for Emacs users, since we're used to get incremental search once we type C + s.

You can set your own shortcuts for actions in the options.

I’m probably in the minority, but for a notetaking app to be “pretty much perfect” I absolutely need to be able to easily view and edit notes with vim/nvim, or at least have basic Vim emulation.

It’s all or nothing, basic just leads to frustration when it doesn’t work as expected

I agree, mostly.

An example of "close enough" for me is the IdeaVim plugin[1] for JetBrains IDEs. It supports all the features I need to be quite productive, including registers. The killer feature is that it reads in an `~/.ideavimrc` file, in which I can just `source ~/.vimrc`.

I wish more apps had that level of Vim support. Loading a `vimrc` file like that would be a killer feature for a notetaking app.

[1]: https://plugins.jetbrains.com/plugin/164-ideavim

I also love JetBrains' vim implementation.

Have you found a way to perform a text reflow (`gq`) in JetBrains? I don't know if I've just overlooked a config somewhere, or if it's just not part of the standard JetBrains support and I need some kind of plugin.

I know what you mean, that's the one feature I'm wanting for, as well. It's not supported yet, according to the YouTrack issues[1][2][3].

If you get a chance, upvote those issues and/or make your voice heard in the comments!

[1]: https://youtrack.jetbrains.com/issue/VIM-186

[2]: https://youtrack.jetbrains.com/issue/VIM-1310

[3]: https://youtrack.jetbrains.com/issue/VIM-1158

Even if it couldn't handle every single thing I can express in a .vimrc, if it were clearly documented what subset worked, that'd be rad.

> Truly cross platform

> No mobile

No mobile app*

But the web version is usable on mobile.

I find that an ability to search the knowledgebase exceeds the value of organizing according to a hierarchy. I can see some value in linking/backlinking à la an encyclopedic "See also" reference for discovering similar information that doesn't share keywords.

Are there other disadvantages to an "all search" solution I'm overlooking?

Think it tends to be mostly a personal preference thing.

I use both, but do rather like hierarchies - they just seem like a natural way of grokking things. I also tend to just naturally outline a lot, whether writing, taking notes or coding.

Another reason I find them useful is that the act of organizing them is also a form of learning for me - not just the information, but the context and relations.

A third reason I like hierarchies is probably a result of a mental flaw. I've always had an issue with "missing words" - where a particular noun just doesn't come to me when I need it. Definitely worse with proper names for some reason. When I'm missing a word, context works much better for finding something.

I also do both right now, helps with some rediscovery, but I think tagging (linking) could be a better long term approach.

It depends on what you are looking for. Your thinking works at least in a different way. You remember things by finding things that connect to the thing your looking for...

One could say their "Link map" enables such a thing but its not quite the same thing.

Personally I do really like the Zettelkasten Method which leans more towards a representation of thought in a written form. Ever wondered how the Zettelkasten "guy" Nikolas Luhman could be so productive(> 50 books) it was because of his Zettelkasten(Method).


So every time I find a new tool, at least for me I evaluate it through that lens: how much does it really help me to represent my thought process. And hiearchical notes are not enough for that, at least for me...

The disadvantage of an "all search" solution is that it presumes that you know what you are looking for. Some of the greatest value I get from my notes happens when I'm serendipitously browsing an old hierarchy, remembering connections I made before.

All search plus some form of spaced memorization scheme for pages or blocks within pages would be nice, I wouldn't have to actively structure my notes that way. I hate structure, I'm always refactoring, so I prefer just saving things in one big folder with labels if I can. I wish I didn't even have to use folders in my file system!

tiddlywiki has an anki plugin

When all you have is search, you may run into the difficulty of actively organizing and structuring notes and clippings into a hierarchy, clusters, or mind map. Also the search support varies from "exact match" to "fuzzy match" to "synonym search".

For example, Evernote supports Notebooks but they only create one level of hierarchy. Often the use of "tags" is then recommended to label notes with context, hierarchy, and categories.

We went for search with Emvi [1]. There are people who like hierarchy, but I think if you don't know what you're looking for you won't find it in a structure anyway. Except everyone on the team or you personally put a lot of thought into it. A hierarchy does not scale well. We tried to make the search as powerful as possible. With filters that can be combined to filter the result set, but I mostly use the textsearch as it is good enough.

Im still thinking about how we could add "explorability". Sometimes you just want to click around a bit and explore what's there without any real goal in mind. Let me know if you have an idea on how the system could support that.

We are rebuilding the UI right now to put an even stronger focus on search. You can read about it here [2] if you like.

[1] https://emvi.com/

[2] https://emvi.com/blog/a-new-experimental-user-interface-QMZg...

> A hierarchy does not scale well. We tried to make the search as powerful as possible. With filters that can be combined to filter the result set, but I mostly use the textsearch as it is good enough.

Does it support dynamic hierachies? A Hierachy where each level is the result of a search/filter on the parent-level?

Hm I haven't heard of this term before but it sounds like it. The filters are additive, which means you reduce the result further by adding more filters. You can for example filter for a tag, add a group to filter for authors and then search through the remaining articles by text search.

I haven't found this feature to be that useful all the time, depending on the amount of articles you have. This is why it won't be in the new UI on day one (but will be re-implemented later, the backend is still there). You can find almost anything by using a few keywords, which is how I navigate Emvi right now.

[Edit] We have the plan to add configurable dashboard filters, which use the filters to show a subset of all articles, tags, members, groups and lists you like. I guess that's closer to what you described.

Ha they even have zettekasten material in their demo Video. Although the tool nothing looks not much helping with it nor mentioning it in the text...

Well it's not primarily build to be a Zettelkasten. But you can use it like a Zettelkasten if you really want to, like with most writing tools. We have a few users which do that already. I wrote about it here: https://emvi.com/blog/luhmanns-zettelkasten-a-productivity-t...

I agree 100%. Don't see why one approach must preclude the other.

I prefer using tags rather than folders, so I actually keep every e-mail since last year's January 1st in my Outlook inbox (currently at 29,348 and counting...) and just search. If you let Outlook index everything, it's blazing fast, and you can sort by name / subject / date / category pretty easily to further drill down results and find what you want.

Haven't found a system that works better, with the only disadvantage being that searching on mobile really sucks

I agree 100%. It's shocking how many knowledge base apps there are with terrible search. What's the point of putting stuff in if you can't find it when you need it? I've been working on https://histre.com/ (Effortless Knowledge Base) and search is the #1 thing I'm focusing on now.

> I find that an ability to search the knowledgebase exceeds the value of organizing according to a hierarchy.

Why not both? Searching is good for makro-managment, navigation and dynamic. Hierachy works well for micro-managment, relations and static access.

This was my experience with my photo collection. I pretty much abandoned Lightroom because Google lets me type "pug" in the search box and find all of my pug pictures.

It also holds my pictures and their metadata hostage but that's another story.

My "all search" solution is a text file. Works great.

I've tried more than a couple of times to use a personal knowledge base and haven't been succesful in making it stick.

My process so far has been I keep a daily journal where I write down the most interesting things I learnt or did everyday. If my daily notes are getting unwieldy then I use a Markdown file which I sync on Github. And when I really want to make sure that I've understood something I'll either write a blogpost or stream myself going through a library.

I would definitely appreciate the ability to search my old notes better since they got too long to efficiently parse a long time ago but this process lets me structure the really important concepts I learn without adding too much overhead when I'm just learning random stuff. I also expect my notes to outlast many knowledge base projects and part of the appeal of markdown to me is that it's probably gonna be around for a while.

I'm curious if any writers here have found personal knowledge bases to be worth the initial overhead.

> My process so far has been I keep a daily journal where I write down the most interesting things I learnt or did everyday

Trilium should work great for this, you can press ctrl + alt + p to automatically create a new day note under a calendar tree.

In my case, I also added a custom shortcut/button that brings me to the current day in the calendar tree

Sounds like you have the bulk of a successful routine in place already. The only thing that is missing is a regular moment when you sit down and sift through all your recent notes and connect them to your knowledge base, whatever that is. I suspect that this feels a bit pointless at first but I understand that it soon becomes satisfying and useful. (Beginner here, hence the cautious tone.)

So I'm going through a bunch of these apps/systems and so far, Zettlr looks like it might be suited to what you're already doing. It's fairly minimalistic out of the box, the markdown files are automatically named by the date you write them (your daily notes), there's autocompletion for your links, there's tags, and that's it. There are maybe a few other things, but that's it.

I'm trying out Trilium right now because I was interested in its visual mapping (I'm more of a visual thinker So I've been using Freeplane, a mindmap software, but it's too restrictive with the hierarchies) and while it has nice features, there seems to be too much going on, which I suspect won't stick with me personally.

I have installed trillium twice before, when trying to find a better alternative to a bunch of google docs, but didn't end up using it. The reason is that you cannot readily share an editable copy of a document with a link, which ends up happening with half the documents I write in Google docs. If that was an option, I think it'd be preferable to Google docs in every way (for me).

This makes me wonder if there is feasibility for P2P collaborative editing feature in trillium.

It is actually explicitly a non-feature: https://github.com/zadam/trilium/wiki/FAQ#multi-user-support

Nice idea, maybe make a feature request.

Previous discussion (but worth discussing again): https://news.ycombinator.com/item?id=18840990

I think this is more in reference to yesterday’s discussion about Obsidian...


There have been a few knowledge base/markdown discussions lately.

I wonder whether it is a result of coronavirus and lockdowns, spring cleaning, or the popularity of roam (or all of the above).

This looks pretty amazing, and something I have hoped would exist.

I wonder if it would make any sense to add Jupyter Notebook kind of functionality to these kinds of notes. It feels like super cool idea, but it may be too big feature to be realistic.

I have been using Trilium lately and I love it. What sold me completely is the sidebar sections "What Links Here" - my purposeful linking and "Similar Notes" - reminding me of what I may have forgotten.

Also the fact that I can completely self host it on a server while running a local client on any machine that syncs effortlessly.

Interesting! Tiddlywiki with all of it's plugins, tags, search amd markdown support is still preferable to me. It is even more crossplatform as it works locally in my Quest as well (termux webdav rb script)

What is your current setup?

I quite happily and successfully used MPTW to manage work knowledge, tasks, and context for 2 years. Between leaving the related job and the odious save workarounds for pre-TW5 wikis, I stopped using it. I've made multiple multi-hour attempts to find a workable TW5 configuration, with both the TW5 legacy plugin and searching for replacement plugins.

Not sure if you have run across NoteSelf (https://noteself.org/) before, but it is basically TiddlyWiki + PouchDb. Maybe that would be a workable solution for you?

hi mcint, i use the DIY ruby script for a poor man's webdav server (there is IIS webdav, Apache or Caddy webdav, but they are more involved): https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826...

For sync I use syncthing. Syncthing and ruby work on Android and/or Termux respectively.

So sometimes I like to browse / lookup my TW5 from a multitab VR environment, my android phone or my desktop

Author here, if you want to ask anything ...

Well, my questions are pretty basic but since you offered :) 1. In text note I make a code block and I do not know how to 'exit it'. How can I 'finish' it and make another paragraph? 2. Is there a shortcut to insert a checkbox (like Evernote does with Ctrl+Shift+C 3. Is there a way to change the font? I like Mono fonts for notes. 4. Can I reduce the margin between paragraphs in text notes?

Thats all for now, thanks.

Hi, sorry for being late:

1. Code block is exited by double enter (so two new lines)

2. No shortcut for the checkbox unfortunately

3. Only Themes can change the fonts - see e.g. "Steel Blue" in the demo document to see how it's done. https://github.com/zadam/trilium/wiki/Themes

4. You could use custom CSS to change it however I can't recommend this: https://github.com/zadam/trilium/wiki/Themes#custom-css

Can anyone compare this to Obsidian that was released into beta recently?

I've tried Trilium in the past, and tried Obsidian this week. I fell in love with Obsidian instantly (even though there are a couple of key things missing [1]). This is entirely subjective, but the UI of Trilium actually gives me anxiety - I want my note-taking, knowledgebase to be a zero-friction thing of calm. Obsidian definitely is, I spent two minutes customising keyboard shortcuts to closer match Sublime Text where I spend most of my day and I was up and running, and in the flow when writing documentation. Trilium is the exact opposite of that. It's information overload. It reminds me of MS Word with all the toolbars open. Some people like that, but if you like a calm, focussed place to write or read documentation or notes, I'd go with Obsidian.

[1] For me Obsidian is currently missing anchor linking to headers within a document (which I know is on the roadmap), and scroll past end of document, as I hate my carat being anchored to the bottom of the screen when writing. Despite those things being missing, I'd paid the personal license within about an hour of trying it and if it turns out to be useful across a team I'll pay the commercial license for it too.

+1 re: information overload.

I've been testing a bunch of them lately, and Zettlr (FOSS) has a nice and minimalist thing going on too. I liked Obsidian too, especially the network graph, but the licensing discussions in the other thread yesterday are a bit of a concern, but the dev erica seemed fairly open, so I'm keeping an eye out on how that goes.

There are a few things to address the default overload.

- There is a "writing mode" - You can hide the sidebars or portions of the sidebars.

Will give this a shot. Looks like a modern alternative to CherryTree. I find these hierarchical note taking apps useful for organising complex projects which usually require several levels deep of note organisation. I also use Joplin for general note taking and Google Keep for website resources. I'm set.

I have been using 'Joplin' for most of my notes. I have the desktop client and mobile client synced up using 'syncthing' app on my desktop. Its a perfect little setup.

Website resources?

What I meant by "Website Resources" is a collection of website links I want to keep note of.

Also, Sorry for not linking apps I mentioned.

CherryTree - A hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single xml or sqlite file.



Joplin - An open source note taking and to-do application with synchronisation capabilities



Google Keep - a web-based note-taking service developed by Google.



Extras which may interest you:

Zim - A Desktop Wiki - https://zim-wiki.org/

TreeSheets - Open Source, Free Form Data Organizer (Hierarchical Spreadsheet) - http://strlen.com/treesheets/

Hey! Thanks for the reply, by the way. Checking out the links, too!

Been using Boostnote for the last few years. Boostnote's great, but it doesn't have note nesting / trees, so I figured I'd give Trilium a shot.

Downloaded Trilium, tried to type in a standard GFM Markdown fenced code block with a language identifier for syntax highlighting, and it kept converting it to a "Plain Text" block as soon as I typed the third backtick, making it unusable.

That's a hard blocker for me. I write Markdown all the time, and I don't want a pseudo-WYSIWYG editor mangling the Markdown I'm writing as I type it. I also need to be able to add code blocks, with highlighting, at any point in the middle of the notes I'm writing.

Is anyone reminded by this as kind of a smalltalk image?

I mean an environment that is self contained and can be modified?

I wished the authors would think of aspects like that: how to modify the system without restarting it or needing separate tools.

Sure it looks nice but in the end its a browser with some javascript libs glued together with sqllite or something?

Customization seems way to difficult , so the tool can do a bit of tiny things that seem nice for me but so many things that I don't need. The GUI seems very bloated for me.

Is this just me? Or are people generally happy with such GUIs?

I'm very happy with this program, the GUI isn't the most elegant but it does the job.

I don't think I'd describe the GUI as 'bloated' though... it's actually pretty minimal. I think the screenshot on the github page makes it look busier than it really is (e.g. the sidebar can be hidden, and you'd usually be using it with a larger window size).

I find the program to be very powerful out of the box, so I haven't had to customize much (the customization is just icing on the cake IMO).

I use this program every day at work as my personal knowledgebase for my technical support notes (and also for taking notes on phone calls). I have thousands of notes and this program handles it much better than anything else I've tried. The powerful tree structure, fast search, and tagging system make it really easy for me to quickly find what I'm looking for.

While this is clearly aimed at personal use, I wonder if it could be extended to serve as a lab notebook for a small research group.

Storing time-stamped, signed Markdown notes with version control and with some hierarchy (daily notes, brainstorm ideas, versioned lab protocols etc.) would be great.

Right now I use on site GitLab & private GitHub repo, but for the not computer savvy users this seems to be too much. Ability to add images to documents using menus/mouse is crucial.

As referenced above [1] multi-user is a non-feature so I wouldn't expect development on that any time soon.

Not sure how good Obsidian [2] is, multi-user support seems to be in dev as well but it might work on a shared drive folder. Also doens't seem to be free/libre.

[1] https://news.ycombinator.com/item?id=23347168 [2] https://obsidian.md/

oh my god this looks awesome... i had been using boostnotes, but this looks lightyears ahead.

I have installed trillium twice before, when trying to find a better alternative to a bunch of google docs, but didn't end up using it. The reason is that you cannot readily share an editable copy of a document with a link, which ends up happening with half the documents I write in Google docs. If that was an option, I think it'd be preferable to Google docs in every way (for me).

I would love to explore someone else's library of notes. I really don't know how to take effective notes. When I start reading a new book I try to take notes but always end up just reading. The problem is that months after I can't remember much.

Look up Andrew Matushchak's entry on evergreen notes [1].

[1] https://notes.andymatuschak.org/z4SDCZQeRo4xFEQ8H4qrSqd68ucp...

Thanks, that's really interesting

Write your notes on the margins and once you finish the book, transfer the marginalia and relevant quotes to your note taking system of choice.

This is a good idea, the problem is that I use an e-reader. It has a keyboard but taking notes in it isn't really convenient.

Another hierarchical note-taking tool slash knowledge base, though a bit more limited/opinionated and proprietary, is https://roamresearch.com/.

Looks like Obsidian.md

Currently, I use a lot of Notion. Easy to share and collaborate.

Looks great.

I couldn't use anything tho, that has no export as single portable format (PDF, Word, whatever) of complete stuff.

Seems to have an export to a tarfile of markdown docs with a folder structure matching the tree.

I wonder how important keeping data local versus in the cloud is for users? Does encryption affect that?

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