What to cache
By default, all nodes (any headline or file with an ID) are cached by Org-roam. There are instances where you may want to have headlines with ID, but not have them cached by Org-roam.
To exclude a headline from the Org-roam database, set the ROAM_EXCLUDE property to a non-nil value. For example:
* Foo
:PROPERTIES:
:ID: foo
:ROAM_EXCLUDE: t
:END:One can also set org-roam-db-node-include-function. For example, to exclude all headlines with the ATTACH tag from the Org-roam database, one can set:
(setq org-roam-db-node-include-function
(lambda ()
(not (member "ATTACH" (org-get-tags)))))Org-roam relied on the obtained Org AST for the buffer to parse links. However, links appearing in some places (e.g. within property drawers) are not considered by the Org AST to be links. Therefore, Org-roam takes special care of additionally trying to process these links. Use org-roam-db-extra-links-elements to specify which additional Org AST element types to consider.
Variable: org-roam-db-extra-links-elements
The list of Org element types to include for parsing by Org-roam.
By default, when parsing Org’s AST, links within keywords and property drawers are not parsed as links. Sometimes however, it is desirable to parse and cache these links (e.g. hiding links in a property drawer).
Additionally, one may want to ignore certain keys from being excluded within property drawers. For example, we would not want ROAM_REFS links to be self-referential. Hence, to exclude specific keys, we use org-roam-db-extra-links-exclude-keys.
Variable: org-roam-db-extra-links-exclude-keys
Keys to ignore when mapping over links.
The car of the association list is the Org element type (e.g. keyword). The cdr is a list of case-insensitive strings to exclude from being treated as links.