Do you know if there’s an Emacs note-taking framework where filenames aren’t as important? (I’ve been using org-roam for years.)
In the Zettelkasten method, notes are meant to be short and often don’t have specific names or titles. For example, when creating literature notes, the idea is to jot down a new note on the spot for every idea that catches your attention in a source.
Putting all your quotes from a source into one note makes you want to arrange and harmonize them into a whole note, which goes against the Zettelkasten approach.
Maybe I was under the misconception that every new note should have a new note title, maybe because I always create new notes through the command C-c n f. Reading through Nodes with same title, told me there are other ways to create new notes that that can result into several notes sharing the same note title while still enforcing one note per file, and small files.
The filenames I use are all following the standard pattern 20241223090627-thoughts_about_literature_notes.org, so the filenames will always be different, that is not the issue.
The question is rather that with the key binding C-c n f I won’t be able to create 2 different notes with the same title, say “thoughts about literature notes”, similar to the some problem you seemed to have at one point.
I think I understand that the solution would be to use some “capture templates” for the creation part.
Then, for the part where you are trying to find a note, there is a suggestion in the same thread to use consult-org-roam.
In the same thread something else caught my attention, it was tags / org-roam-node-display-template.
I assume you meant M-RET?
I type C-c n f “hello 123” RET.
Now I have a new note with title “hello 123”. I write a few things in it to identify it later. Then C-x C-s, C-x k.
Then I do C-c n f “hello 123” M-RET: it opens the already created file.
I must have misunderstood what “nodes with same title” means, because all my experiments are consistent in proving that it is nearly impossible to create two nodes with the same title (my experiments were only about the case where a node is a file).
Note: I also use vertico, but the M-RET method, as far as I understand it, would only allow to create two nodes with similar but not identical titles.
(defun org-roam-fast-make-link (s)
"Make an org-roam node with title S and return a link to it.
We eschew the usual org-capture approach for a fast, non-interactive result."
(let* ((slug (org-roam-node-slug (org-roam-node-create :title s)))
(filename (format "%s/%d-%s.org"
(expand-file-name org-roam-directory)
(time-convert (current-time) 'integer)
slug))
(org-id-overriding-file-name filename)
id)
(with-temp-buffer
(insert ":PROPERTIES:\n:ID: \n:END:\n#+title: "
s)
(goto-char 25)
(setq id (org-id-get-create))
(write-file filename)
(org-roam-db-update-file filename)
(format "[[id:%s][%s]]" id s))))
Also, what might have made me think it was possible is Luhmann’s workflow, where he definitely uses a new sheet of paper for each new idea he wants to commit to the knowledgebase, including literature notes: having everything in the same file is really a different experience, in my opinion, even if we can use the “narrowing” functionality enjoyed by Emacs. Although I’m not sure it would even help, I’d still have to come up with a new title for every new idea, good luck with that.
It was from 2022. Please verify my statement with the current feature set. I am not certain anymore if the title is required now and not in front of my computer to verify.
But I am in favour of a meaningful title with multiple headings with different but related “notes” in a single file-node, especially in case of notes on the same article/book/chapter.
It is possible (I have done it many times with vertico and with file-nodes — for example, try adding ID to the file in your capture template) but org-roam-node-find may display only one of them — this may sound like a fine difference, but relevant here. You can create them but the list displays only one of them.
If you do org-roam-find-node and then something like ivy-immediate-done, it will create the node without a title – just the date/timecode. Other packages have the same functionality, perhaps even barebones Emacs. It is usually mapped to Alt+Enter. I use Vertico on Doom Emacs and that is Doom’s keybinding, maybe it’s the same elsewhere.
Now if you want to create a node without any title - just change the title variable to the time variable too and just do press M-Enter in vertico for example, its very simple.
Now regarding the problem of a node having the same exact title. This is a limitation in the completion framework, vertico in my case, each item has to be unique ! It is not trivial to even design a system that behaves in an other wise fashion.
Digression
My views regarding the zettlekasten method - Lehman maintained an elaborate physical note system that spanned rooms, it was a physical method of storing information. I came across another systems theorist somebody who only maintained diaries, since teenage years till death, pages and pages of information written linearly. There is no one method of notekeeping and neither will following a notekeeping system make somebody a systems theorist.
There is a basic difference between storing information physically versus digitally, spatial distribution. The same tricks of physical systems wont apply to digital notekeeping imo. If you have too many files overly fragmented, your monitor would be a bottleneck in how many files you can see in one go.