12 ms·
Show HN: Trilium Notes – Scriptable note-taking application
- Jarwain 8y agoThis is really impressive. I've always wanted a decent Journaling app that also mapped well to hierarchies and how I think about things. It looks incredibly fleshed out, and that a lot of thought and effort was put into this project. I'm curious about whether there's synchronization between the local desktop application and the hosted web version. Also about how responsive the web version is, and how well it works on a phone.
- Jarwain 8y agoIt looks like both my questions are covered in your very comprehensive documentation. Color me impressed
- The_Colonel 8y agoThank you for your kind words :) Hosted web version actually serves a dual purpose - it is a full online app (for both desktop and mobile) and also acts as a central sync server for desktop clients. There's a fully featured web version which is tailored for desktop and isn't responsive. There's a separate frontend for touch based devices which doesn't have a complete feature set, but scales nicely for both smartphone and tablet layouts. But this is a brand new feature released just days ago so it has probably rough edges.
- rprameshwor 8y agoFYI - The link to images in the Screenshot tour seems to be broken. https://github.com/zadam/trilium/wiki/Screenshot-tour https://github.com/zadam/trilium/wiki/Screenshot-tour
- The_Colonel 8y agoWhat error does it give? This links works fine for me ...
- rprameshwor 8y agoNvm, when i disconnected out of the VPN to my workplace, the images loaded fine. Tried connecting to VPN again to test if the images would load this time, it didn't. Weird... It could be something specific with my VPN.
- keedser 8y agoYou should check out your workplace's firewall rules. About a week ago, my works' firewall suddenly started blocking the domain where Github's CSS/JS files were hosted and all formatting and images were gone. Not sure if Github switched hosting servers or our firewall whitelist was updated incorrectly.
- anikdas 8y agoMay be Azure services kicking in.
- narak 8y agoThis looks awesome! Clearly you have put in a lot of hard work and thought into this. Ive been itching for a scriptable personal knowledge base where I can store arbitrary datastructures and executable code in addition to the typical richtext note taking. Will be diving into the code asap. Cheers!
- The_Colonel 8y ago> Ive been itching for a scriptable personal knowledge base where I can store arbitrary datastructures and executable code in addition to the typical richtext note taking. Wow, this is actually exactly what Trilium Notes is. Perfect match!
- explainplease 8y agoSounds like org-mode.
- rbosinger 8y agoThis looks awesome! I've been looking through the docs. I can't wait to get back to my computer to give it a whirl.
- submeta 8y agoQuickly checking on the way. Is there a way to import notes from Evernote?
- RoboTeddy 8y agoLooks like yes: https://github.com/zadam/trilium/wiki/Evernote-import https://github.com/zadam/trilium/wiki/Evernote-import
- nickcox 8y agohttps://github.com/zadam/trilium/wiki/Evernote-import https://github.com/zadam/trilium/wiki/Evernote-import
- The_Colonel 8y agoYes, as the other commenters answered. Just a word of warning - there's not many ENEX files floating on the net available for testing so I kind of expect some bugs to appear here.
- mkl 8y agoDoes this support maths notation? E.g. Latex code interpreted with Katex or MathJax, or WYSIWYG with MathQuill. I see there may be relevant CKEditor plugins. Could these be used?
- The_Colonel 8y agoCurrently no support. I use CKEditor 5 which is very very nice, but still a bit immature in its plugin ecosystem. LaTex support is definitely something I've been thinking about, but I'm still not sure about how to approach it. This might be also one of the showcases for the scripting support. User can load e.g. KaTex as a script, bind it to the "code note" which it will render into a view e.g. above the code editor. But that's not very user friendly for sure.
- MrTrvp 8y agoYou should look at https://katex.org/ https://katex.org/
- singhrac 8y agoWant to add on that TeX support is pretty much the only thing holding me back from this. I feel like KaTeX is not only easy to integrate but also full featured. I'd be incredibly impressed if you could render full LaTeX though - e.g. via a renderer switch and a PDF viewer like PDF.js.
- QML 8y agoTwo popular note taking apps which do this are Dropbox Paper and Notion.so, but they only support inline math. A niche app that does both is Gitbook but they’re a newer company and I’m not sure about personal plans. Edit: I should add neither of these support code execution. I would really love if someone could point to a Wikipedia / knowledge base composed of Jupyter notebooks but have the functionality inverted — primarily focused on note taking and secondarily on code execution.
- evertheylen 8y agoI've made a small userscript for inline math in Notion.so: https://github.com/evertheylen/notion-inline-math https://github.com/evertheylen/notion-inline-math I'm using it extensively myself :)
- lvs 8y agoThis is very interesting. It's self-hosted and therefore not reliant on someone's brittle/invasive business model. I'd consider switching over to this in a heartbeat if it could handle attaching arbitrary files to notes (e.g. office docs, pdfs, etc.) that would also get sync'd. I haven't looked at the code, but can anyone say something informed about the sync server auth and transport security? Is it running over TLS?
- yjftsjthsd-h 8y agoNative integration is better, but file:// + syncthing could probably suffice?
- The_Colonel 8y agoI can't really recommend this. Trilium Notes stores its data in an SQLite database and syncing it as a single file would mean any kind of edit conflict would have to throw out all changes from one side of edit conflict. Native solution has an advantage of being able to resolve edit conflicts on a very granular level (individual notes, attributes etc.)
- mkl 8y agoIs there a way to do diffs between versions of notes?
- The_Colonel 8y agoI'm not sure if you mean on a user level or possibly on a sync level? Trilium Notes automatically versions notes by kind of taking a snapshot every few minutes. It allows you to browse those "revisions", but there isn't a diff built in yet. It is one of those features which I thought I might implement some day but there's always something more important. For the edit conflict resolution - no diff is being used. Newer change just overwrite the old one. But since you have historical revisions from both sides of edit conflicts, there's a good chance you didn't lose the data completely. And in practical terms this happens quite rarely if you sync often (i.e. - are online) since the sync is granular enough.
- mkl 8y agoAn informative 4-month-old discussion on Reddit: https://www.reddit.com/r/linux/comments/9c34b8/trilium_notes_new_note_taking_application/ https://www.reddit.com/r/linux/comments/9c34b8/trilium_notes...
- anigbrowl 8y agoReally liking how lightweight, extensible, and flexible this is. It feels like a mature product already!
- chrisweekly 8y agoThis looks pretty impressively thorough. I noticed you support Evernote -> ENEX -> Trilium; what about exports, ie going in the other direction?
- The_Colonel 8y agoFor the export there's a TAR archive which contains a directory structure of HTML/Markdown files (you can choose the format) representing the notes in the tree structure. Extra metadata are stored in a single JSON file (in the same tar). Same tar archive can also be imported without losing anything in the process. Besides that there's an OPML file export which contains a tree structure with plain text. Its import seems to be supported widely among outliners.
- farcat991 8y agoSo, say I export my note as a markdown document, what I'm seeing is that all the images that I had pasted into my note are still referenced as a link. I was thinking the image itself would be copied into an images directory and referenced relative to the note, locally. Is it possible to do that?
- The_Colonel 8y agoActually image itself is also a note (of image type)and is placed into the note tree so in export it appears at the same place as in the app. But you're right that the exported note doesn't rewrite the link to correctly point to the local exported image.
- farcat991 8y agoAlso, it might be a good idea to store notes as an XML document. Then when they're imported into Trilium, they can be loaded into a sqlite instance, this makes storing and sharing notes as a file easier.
- hirundo 8y agoThank you for the hoisting! For me this is a crucial feature missing on most outliners. I got spoiled by one that had it in the mid 80s (one of the first, can't remember the name). That one went away and ever since hoisting has been my screening test. The fact that hoisting is hard to find 30 years later is evidence of technical regression and the oncoming collapse of civilization. So Trilium gives me hope.
- explainplease 8y agoEmacs/Org-mode have had this feature for years. You can narrow-to-subtree, or even subtree-to-indirect-buffer, presenting a subtree as its own buffer, like having files within files.
- mkl 8y agoThe_Colonel, could handwritten notes fit into Trilium? It's technically possible, with PointerEvents to get pressure, but I'm wondering about whether it would fit with your goals for the project. I'm guessing it would need to be another type of note, separate from the CKEditor ones, or maybe some kind of drawing area plugin making space within a rich text note.
- The_Colonel 8y agoYes, some kind of drawing is planned, but nothing concrete yet. Ideally I'd use some library because it's probably not feasible for me to implement it all by myself.
- qwerty456127 8y agoI wish somebody would write a good comparative review of all the note-taking, information organization and outlining apps... I'm in constant search of the one that would actually suit my preferences. Perhaps this is the one (but chances are it's not). Let's take a look...
- izietto 8y ago(if you are a programmer) Why don't you write it? It seems to me a good personal project, not too much complex and pretty funny (at least to me)
- qwerty456127 8y agoI'm always thinking about doing so yet the perfect one I imagine is actually too complex for me to make - I hardly am too much of a frontend developer so far.
- cercatrova 8y agoWhat features would you like in your ideal one?
- qwerty456127 8y agoThank you for the question but it feels I can't write a comprehensive answer quickly enough and it's time to go to bed now (in Europe) but my head is already working on systematizing the idea. I'll probobably write later.
- qwerty456127 8y agoHere is an approximate description of my image of the perfect information management tool: Free and open source preferably but if it has to be paid (I don't mind paying if somebody builds a perfect tool for me, I'll donate if it's free) - it is to be single-time payment, not any kind of subscription. 100%-internet-independent. An option to synchronize data over the internet is a nice thing to have but it must be E2E-encrypted (I feel like a manually-set private key symmetric encryption is ok) and support P2P-synchronization via local network. It should better work on all the platforms but desktop Linux is the most important and minimally-sufficient. It is to store the data in a format easy to read and modify programmatically. E.g. SQLite (seems the best choice, also does great storing attached files as BLOBs within the DB), XML, JSON or whatever with sane scheme. A node can be folder/document, a document section with a heading (including subsections), a paragraph (with support for marking particular spans as non-breakable and inserting manual line breaks), a picture (svg, png or jpg), a numbered or bulleted list (of whatever a depth) or its element, a video, an audio, a table, a formula, a piece of code, an attached file (stored within or alongside the database), a link to a node or to an external URL. Something else too perhaps. It should be possible to attach tags and custom properties to the nodes. Every node should have a UUID. The tagging system should support implications (e.g. if I tag something with "python" tag "programming" tag is applied implicitly). It should be possible to rename tags and merge tags into one. Full text search (and replace) by content, tag, property etc. Drag&Drop nodes migration and reordering. Export a node with all its subnodes into a file, execute a command line with its name substituted and import it back. I am going to use this feature mostly to author documents (markdown, latex, epub etc) and blog posts via Python scripts. What I want to use it for: Writing down random ideas and notes, mindmapping, organizing reasonably small files and scanned stuff, writing lecture notes, papers, blog posts and books and all these with all their hierarchy elements (to the sane depth, treating every word as an node or looking inside attached files would be too much) should be 1-st class nodes displayed in the tree and available for the operations.
- asaamaraa 8y agoAwesome app. Thanks for sharing.
- solarkraft 8y agoThis seems like a super-version of Notion.so. I'll definitely have a look.
- tracker1 8y agoLooks really nice... I do wish it could use Dropbox/Google-Drive/MS-OneDrive etc as a storage engine though... or local FS in the appropriate directories. I'm also not sure about security on the server, may give it a try on a dokku server to see how it goes.
- MikusR 8y agoLooks like a mix of Leo and org-mode running on Electron.
- Waterluvian 8y agoWhat I need most is guaranteed and easily accessible backups. I think, for me, that's automatic commits to a git repo in some format and structure that isn't bound to the app.
- gumby 8y agoThe only reason I still use Evernote (and I fervently want off) is its excellent page scraper. If there were a non-web (i.e. local storage) alternative for macos&ios I'd switch in a heartbeat. But so far, no luck.
- jungletime 8y agoI've been using Typora to make todo lists, and keep notes. It also has markdown, and I can do checkboxes with it quite easily, and add large titles, and horizontal lines. I just save all related todo's and notes into a folder. When I open a single note, it lists in the left pane all the other notes in that folder. So for example, I have a todo folder. And a file for each day of the week. If I open Monday, it lists all the other days in the left pane. I love using it. Very similar concept to this program. I'll have to try out trillium.
- kevintb 8y ago+1 to Typora, it shows you the folder contents which is great.
- projectramo 8y agoI compare everything with emacs editing text files with git for synching. (Encryption is through a VM with encrypted Ubuntu which I use for note taking and everything else.) But this does work with mobile which is key...
- jungletime 8y agoSort of related. Does anyone know of any note apps that will let you select and area of web page, and drag it into the note. I just want easily make a scrap book of relevant info from web pages I visit. The solution I know of, Screen shot, saving, loading, and so on has too many steps. I just want something that will let me select and drag into the note. And that will look exactly like I see on the webpage. Bonus, if it lets me drag not only rectangular boxes, but actually adjust the box so its not cutting off lines, or other content. Sort of like pinterest, but not for just images, but text also. Hyperlinked to the actual source page would be nice too.
- Lightbody 8y agoEvernote has a browser plugin that does exactly this.
- c-smile 8y agoSciter Notes: https://notes.sciter.com https://notes.sciter.com That if you mean something like this: http://notes.sciter.com/wp-content/uploads/2019/01/notes-drag-n-drop.png http://notes.sciter.com/wp-content/uploads/2019/01/notes-dra... Works with any browser, no plugins required.
- electricEmu 8y agoStandardNotes is an OSS note taking app. The Plus Editor can accept pastes from a web page with styling and whatnot. https://standardnotes.org/extensions https://standardnotes.org/extensions
- blackoil 8y agoOnenote has a webclipper extension which works similarly.
- dominotw 8y agoyou can do this on surface pro with the pen. It automatially screenshots into one note.
- ilian 8y agoYou can use the TagSpaces Web Clipper browser extension, which saves parts or whole webpages in simple html files. It is available for Chrome and Firefox from https://www.tagspaces.org/downloads/ https://www.tagspaces.org/downloads/
- synaesthesisx 8y agoI've been using Ulysses but considering trying something else ever since they changed to a subscription-based model.
- fabiospampinato 8y agoThe features set seems very interesting, I'll definitely take a closer look at the code, good job!
- 7174n6 8y agoIs there a shortcut to create a new folder? It seems really difficult, or I am just missing it?
- The_Colonel 8y agoThere's a CTRL-O for creating new note/folder on the same level and CTRL-P for creating nested one.
- deleted 8y ago[deleted]
- laurent123456 8y agoThe releases could be improved using electron-builder. You'd then have one executable file, instead of thousands of node_modules files.
- The_Colonel 8y agoYou're right. I kept it like this as a debugging solution of last resort. But having single ASAR is probably more useful for regular use.
- shsethi 8y agoI have been looking for a note taking app that fits my needs for a long time. I have tried Tiddly-wiki, Typora, Evernote, Boostnote, OneNote, Simple Notes. So far this looks better than all of those combined. Thanks!
- jamilbk 8y agoThis is awesome! Downloaded the binary and runs with no issues on Ubuntu 18.04 x64. Two questions: 1. Any plans to support OCR processing similar to Evernote? 2. Any plans on offering a paid service for syncing the encrypted notes to? I'll gladly pay $5 / mo for a more secure, open source Evernote if it means I don't have to manage my own server.
- bayindirh 8y agoFirst of all, congrats. It looks like a nice application with good thought out features. I've esp. liked central syncing, source code capabilities and markdown. I personally use Zim [0] at work, which is pretty dependable, extensible and mature. Zim also builds a personal knowledge base with exports, so you can learn from its approaches I think. However, I personally don't prefer to use electron applications, so Trillium is not a real candidate for me, sorry. Wish it wasn't on Electron, so I'd try it. [0]: http://zim-wiki.org/ http://zim-wiki.org/
- dagurp 8y agoI'm a zim user too but looking to replace it. Why is Electron a deal breaker for you? (Also, in case you didn't notice, you can host Trilium on a server if you want to)
- bayindirh 8y agoI'm an old folk in terms of computer history [0], and while my computers are not resource constrained, I'm resource conscious. Also, I'm a high performance computing sysadmin and researcher, so I know what computers can do with what amount of resources. I'm extremely annoyed by the fact of running a complete browser engine and sacrifice half gigabytes of memory and a lot of storage (I cannot remember the exact size of Atom) just for a text editor or any other software with the same caliber. Also, Electron consumes more resources than it needs. When running on any Electron app on my Mac, I generally get a notification about its power usage too. e.g.: Atom is not as powerful as Eclipse, but needs more resources per feature. BBEdit is much lighter and compact, and is nearly as useful for me as Atom, and I can run Eclipse if I need a full fledged IDE. Server-only deployment is nice, but I'd rather sync the data, because I'm not always online while taking notes, and if I'm going to keep my data centralized, I'd rather keep it at my home, and I don't have enough upload bandwidth to serve anything like Trillium. BTW, Why are you trying to replace Zim? I'm interested in your reasons. I'm open to and interested in discussion and, I'd happily stand corrected if I'm mistaken. [0]: https://news.ycombinator.com/item?id=18839788 https://news.ycombinator.com/item?id=18839788
- 8y ago
- accountforih 8y agodo you have any plans to create a SaaS version? Maybe with some premium features, that would be great
- The_Colonel 8y agoNo commercial plans at the moment. It's not viable unless you have a lot of paying users and there's a lot of competition.
- thunderbong 8y agoJust played around with it. Really nice application and seems very comprehensive. I'll need to spend some more time with it though. I was especially keen on the syncing to work, but unfortunately kept getting a 'DB not initialized' error on the server. I'll raise an issue for it. Wonderful application overall. Congratulations.
- The_Colonel 8y agoHello, "DB not initialized" is not necessarily an error and may just mean you didn't set up the sync between the nodes yet. If you can create the issue on github, we can look into it in more detail.
- michaelcampbell 8y agoI thought this was going to be some note-taking add-on for the cross-protocol chat app Trilium.
- The_Colonel 8y agoThat one is called Trilian. But yeah, it sounds similar.
- monkeydust 8y agoBeen using https://usejournal.com https://usejournal.com for last few months for taking quick notes and grabbing and tagging links. Works well enough but no mobile support still means I am not that keen to over invest in it. Will check out Trillium
- PurpleRamen 8y agoQuite rought around the corners. I guess in 3-5 years it can grow into something good. I assume leo editor was a inspiration for this?
- sesc 8y agoThanks for sharing. The cloning feature is really key. Looking to replace Notion with a more compliant solution (reg. storage of data) for quite a while and your combination of app/server nails it! The only thing I would really love is a more open way to store notes, like text files in a directory. Love how DevonThink does their file indexing. Can imagine it being a headache though with the cloning etc. so good you have export to at least have openly accessible backups.
- chrisMyzel 8y agoI'm looking for.a.tool replacing DevonThink, which lets.you also put Documents (e.g. PDF) as a node in the hierarchical tree which is IMHO key for knowledge systems. Your system looks great on first look, is this a planed feature?
- The_Colonel 8y agoYou can put any kind of file as a node in the tree. However it won't be displayed in-app - instead opening it would start your PDF reader.
- DarthDobber 8y agoThis is an amazing project! It is extremely well documented and very well thought out! Do you have plans to build import functions to take data from OneNote and Evernote?
- The_Colonel 8y agoEvernote import is supported (by importing ENEX files). Nothing for OneNote yet though.
- sali0 8y agoThis app looks amazing. I see that it says there is support for arbitrary amount of nested notes, but it seems the method to do this is to right click and add child notes. Is there any way to add workflowy like nesting? Workflowy has a very simple but very useful way of nesting notes that I personally find intuitive for organizing my thoughts.
- cygnion 8y agoNicely done! Thanks for sharing. I've been using Tiddlywiki over TiddlyDesktop (used on Win and Mac Os) and it suffices most of my needs (except drag-n-drop images and web scraping). TW's extendable macro and plugin environment is awesome. It works great off of cloud drives. Curious to know what others feel about TW. KNote's note 'card' interface resembles TW. Thanks.
- xingped 8y agoWoah, I can't believe I missed this 12-ish days ago, but just went looking for a note-taking app today and I have to say this is the best one out there by a hundred miles! It's incredible how exactly and perfectly it works in line with what I needed it to do!