7 ms·
Org-roam: Rudimentary Roam replica with Org-mode
- dmortin 7y agoThe graph seems more like a gimmick, but the automatic backlinks are nice. Org mode is a really good text-file based solution for notes, especially with tools like org-rifle: https://github.com/alphapapa/org-rifle https://github.com/alphapapa/org-rifle The other day people wrote in an other thread they use grep for their text notes. But what if you have notes with longer, multiline texts? With org-rifle the input words can be anywhere in the multiline note and they can be in any order.
- karlicoss 7y agoI've got a massive org-mode database, and in 90% of cases I'm using ripgrep (helm-rg) to search over it. In addition it searches in chat logs and other non-org mode files. Remaining 10% of searches is probably org-ql (e.g. tag search). Tried org-rifle too, but also wanted searching within the contents, so ended up using ripgrep. I describe my setup here: https://beepb00p.xyz/pkm-search.html#other https://beepb00p.xyz/pkm-search.html#other
- secstate 7y agoI'll say that I've been using org-mode and it's agenda to manage todos and take notes for a long time, and Roam is whole other animal. The problem I've had with Rifle is that words can mean different things in different contexts. Rifle finds every time I used the word "depression" regardless of how I used it. Roam gives you any easy way to add just a little extra symantics to your notes that dramatically increases the signal in the backlinks, and astronomically improves the graph view.
- dmortin 7y agoCould you show an example of those "little extra symantics" which helps you with this?
- secstate 7y agoFor sure! So if I'm reading an article about the fall of the Roman Empire, and I learn about how modern scholarship does not talk in terms like "fall" much anymore, but rather civilization transformation, I might make a new stub article titled `civilization` and then another one for `civilization transformation` Now, if I read a story about Asoka's Empire in what is now India, and I read about how it underwent a collapse, I might tag it with `civilization transformation` as well. Another story about the nature of modern civilization and the travails of people who treat their kids as a personal project to "build" as opposed to a living being to nurture and encourage, I would tag that with `civilization` but not `civilization transformation` Ripgrep'ing my org files for "civilization" would turn up all three of these backlinks. Grepping does not understand context. But I understand context. While `civilization` is part of `civilization transformation`, I don't want `civilization transformation` surfaced for every search of `civilization` This is a rather contrived example with some obvious issues, but I suppose a good analogy would be that you can drag fish for scallops and get every other living thing off the bottom in your net, increasing the work to clean it out. Or you can dive for individual scallops and take longer but have less work to do when you surface. Both methods have merit, but one provides a much cleaner signal. Practically speaking, I USE my Roam note's backlinks. While I could grep my previous notes, in practice I never did because it was too much work.
- dmortin 7y agoThanks. I was curious why org-rifle is not sufficient for search, but you just describe searching by tags which org-rifle can also do, or searching within a tag.
- b3n 7y agoIf you are using backlinks, why not just grep for `[civilization]]` or `[[file:civilization.org]`? I actually have a binding in Emacs to run ripgrep on all files in the current directory, which have a link to the current file. It's very simple, and runs in a split second even with 1000s of files.
- jarvist 7y agogrep -B / -A / -C [lines Before / lines After / lines of Context] is very useful for when you have multi-line text you want to extract.
- dmortin 7y agoThe point is searching multiple terms any order in a note. With org-rifle I don't have to think about the number of context lines or anything and I just type the terms and it finds the notes which have all of those.
- whitten 7y agoThere was some mention of using Org-roam as an editor in a wiki. What is the process to attach it to the Media-wiki software (used by Wikipedia, etc) Sorry if it was on the github site and I missed it. Thanks for the presentation, it looks interesting.
- mateuszf 7y agoIs it possible to link to a specific header? What if I change the header name?
- dmortin 7y agoYou can assign ids to headers and link to that.
- yewenjie 7y agoAFAIK the org-roam main author has strong reasons for not allowing links to headers. There is another project that you can check out - org-sanpo [1]. 1. https://github.com/kamoii/emacs-org-sanpo https://github.com/kamoii/emacs-org-sanpo
- ericax 7y agoI don't use emacs, but I love the concept of organizing your notes and knowledge in plain text, so much that I made my own thing. It's in private beta right now [1], and I've been dogfooding it for the past two months and really enjoying it. The graph overview may seem like a gimmick, but it's surprisingly useful in reviewing stale notes. Tracing semantic connection is more fun than just browsing a folder. It's also super nice to be able to embed local copies of PDFs, images, and voice notes, so I know as long as I back up my hard drive, I'll never lose them. Next I want to add plugins to do periodic reviews of notes, and maybe space repetition for term/definition pairs. Honestly, these efforts only make sense when the data is available for the long haul. [1]: https://obsidian.md/ https://obsidian.md/
- robenkleene 7y agoCurious why the special `[[wiki style links]]` syntax? E.g., why not just use Markdown's existing syntax, like `[A File](a-file.md)`? (Cool looking project by the way, all the values are right up my alley.)
- ericax 7y agoThanks! There are 3 main reasons: 1) At least to me, "[Topic](Topic.md)" is the most typical case, where the name of the link is the same as the file name without the ".md", so I feel like not repeating the title twice is better. Markdown supports "[](Topic.md)" but IMO the syntax doesn't look as nice. 2) Easier to distinguish between internal links and external links. 3) Personally, I think "[[note]]" blends into the sentence better. [[wiki style links]] are not as portable as standard Markdown links, I have to admit that. We will support "[A File](a-file.md)" as well for maximum portability, and possibility provide conversion utilities if you decide to move away from the wiki style link syntax.
- awake 7y agocurious. how you deal with slugging topics with "Punctuation!". Also do both types of links provide the same affordances? If I write [[Topic]] vs [Topic](topic.md) is there any semantic difference?
- elcomet 7y agoDoes someone have a good tutorial to learn this and emacs? I'd like to try (I tried roam research online but couldn't connect, and I'd like to learn also about emacs).
- karlicoss 7y agoI'd say, first of all, use an existing Emacs setup, like Doom [0]. It's got lots of very reasonable defaults, so you will spend less time being mad at Elisp and more time doing something productive. In addition, if you are used to Vim, you won't have to relearn keybindings. I personally haven't got to try org-roam yet (I use a somewhat similar workflow though). In terms of learing org-mode, I recommend trying org-capture to quickly write down your thoughts, tasks, etc, and then seeing where it goes from there. I started with just an org-mode file with pile of notes and I gradually discovered the features when I needed them. [0] https://github.com/hlissner/doom-emacs https://github.com/hlissner/doom-emacs
- rasengan0 7y agothis doom-emac is wonderrful thank you for the reference!
- yewenjie 7y agoThere are many many tutorials out there in the internet for learning Emacs. I would agree with OP's suggestion to start with a starter-kit emacs, like Doom or Spacemacs. You can check out this video which introduces org-roam for total newcomers to the Emacs ecosystem. https://www.youtube.com/watch?v=Lg61ocfxk3c https://www.youtube.com/watch?v=Lg61ocfxk3c PS: The installation for org-roam in doom has gotten significantly simpler since this video. Check out the official docs for updated instructions.
- bravura 7y agoAs a vim user, I am not an expert on org-mode. But on the zettlekasten forums, I read an interesting criticism even of Emacs org-mode as forcing a sort of lock-in "[Apps like Roam and Notion] force you into a single-app interface with your data. Interestingly, even though it's a plain-text format, org-mode sort of fails here as well because Emacs is the only way to access most of the functionality of an org-formatted file." -galen in https://forum.zettelkasten.de/discussion/404/moving-on https://forum.zettelkasten.de/discussion/404/moving-on Could someone more familiar with org-mode comment on this?
- bachmeier 7y agoWhy not export to a different format like html or markdown if you give up on org-mode? Edit: Notion lets you export to markdown.
- bravura 7y agoThis is, in fact, the approach the poster I link advocates for. So I am most interested in note-taking apps where you can swap the editing UX seamlessly, and not be locked into a particularly non-portable format. '"So the question is: How important has it become for anyone to really have plain text file system based zettels? Has it ever been a real limitation to store zettels in a richer format in a more proprietary store like Evernote?" My answers would be "very important" and a resounding "yes". The value of simply formatted plain-text is not in future-proofing data — pretty much any program can export my data in some reasonable format these days. The real benefit is that, because there is no difference between the internal and external representation of plain-text data, I am free to use whatever program is most suitable for my needs at the moment. I add new zettels to my zettelkasten mostly through The Archive, but I also have my zettelkasten added as a folder in FS Notes (where I keep my short-lived project-specific notes as well as my non-zettel reference notes) and in iA Writer (where I do my long-form composing). If I'm putting a table into a file, I'll open it up in Vim and use table mode. Sometimes I'll take live notes in org-mode, and I'll want to look something up so I'll pull up my archive in deft. Tweaks to the ZK can be done directly in any of these programs with no context switching. I find it immensely valuable to have my archive available directly in these programs. And no waiting for app authors to pretty please implement some feature. I've found tremendous benefit from just deciding to use a directory of markdown files so I can stop wasting energy finding the "perfect" solution. For my usage, the union of functionality of the gaggle of apps that operate on a folder of markdown files is more than enough.'
- ElDji 7y agoSuch kind of text base note wiki with graph showing links can be done use tiddlywiki and http://tiddlymap.org/ http://tiddlymap.org/ addon. Works like a charm, open source, self hosted
- sooheon 7y agoSet up org-roam for evaluation, but when it came time to actually do research, the thought that has already gone into Roam UX won me over. Everything is theoretically replicable in elisp, and there are key bind related bugs in Roam that would be an instant fix in emacs, but "good enough and works right now" beats "could be perfect with weeks of fiddling". Standout features: referencing ideas is zero friction, whether they exist or not. Universal search works. Editing note titles fixes all references. Days being a first class citizen, where daily prompts thread your notes together and you can reference future dates to have the backlinks show up on that day, is genius.
- laughingman2 7y agoSame thing happened to me. I was using org-mode for GTD and note-taking for the past six months. I shifted all my notes to org-roam with links between them. But then I tried roam, it's UX really won over me. One thing was accessing my notes with all roam features in all the devices. I don't have to setup dropbox/syncthing/whatever in every machine I own and install emacs with my settings every time. And mainly mobile, If I use orgzly, I don't get any benefit of org-roam in it. So I gave up and embraced roam cloud. I think there is a huge gap to be filled for a device agnostic emacs that works well on mobile (touch), browser, native and is programmable.
- chrisMyzel 7y agoGreat - i started yesterday using org-roam and got many ideas out of my head. Found it by reading about zettelkasten (in the fabolous "Where good ideas come from - The History of innovation") and DevonThink (which i really miss, not avail for linux) and googled for alternatives