The org roam capture template I rely upon to capture bibliographic notes creates a new file with an org heading, and places all relevant PROPERTIES
in a drawer right below that heading, including an ID property. However, org-roam-capture
appears to be set so that it always creates a file-level ID property, which results in an annoying and unnecessary proliferation of IDs. Here’s how a captured bibliographic note looks:
:PROPERTIES:
:ID: 1DFCA536-6F58-4A8B-9E08-E7E580C706AD
:END:
#+title: Once we can see them, it’s too late
* Once we can see them, it’s too late
:PROPERTIES:
:ROAM_REFS: @Aaronson2021OnceWeCan
:URL: https://www.scottaaronson.com/blog/?p=5253
:NOTER_DOCUMENT: ~/Zotero/storage/MSBKIDU3/Aaronson2021OnceWeCan.pdf
:NOTER_PAGE:
:ID: 70650C2F-B388-4EB9-B7EB-C3D3476A9E6C
:END:
As far as I can tell, there is no user option to change this behavior. The best I was able to do, with my extremely limited Elisp skills, is to tweak the org-roam-capture-
function so that it does not insert a new ID value. But org-roam-capture
still creates a file-level PROPERTIES
drawer, with an ID
key but no corresponding value, i.e.
:PROPERTIES:
:ID:
:END:
#+title: Once we can see them, it’s too late
I would appreciate any guidance on how to change org-roam-capture-
or other relevant functions so as to prevent org-roam-capture
from creating this drawer altogether.
(Note that initially org-roam-capture
was also inserting a ROAM_REFS
property under the file-level drawer, but I solved this by setting org-roam-capture-new-node-hook
to nil
. See also related discussion here and here)