Next: Appendix, Previous: Daily Notes, Up: Top [Contents]
Org-roam provides a utility for diagnosing and repairing problematic files via
org-roam-doctor
. By default, org-roam-doctor
runs the check on the current
Org-roam file. To run the check only for the current file, run ‘C-u M-x
org-roam-doctor’, but note that this may take some time.
Perform a check on Org-roam files to ensure cleanliness. If THIS-BUFFER, run the check only for the current buffer.
The checks run are defined in ‘org-roam-doctor--checkers’. Each checker is an instance of ‘org-roam-doctor-checker’. To define a checker, use ‘make-org-roam-doctor-checker’. Here is a sample definition:
(make-org-roam-doctor-checker :name 'org-roam-doctor-broken-links :description "Fix broken links." :actions '(("d" . ("Unlink" . org-roam-doctor--remove-link)) ("r" . ("Replace link" . org-roam-doctor--replace-link)) ("R" . ("Replace link (keep label)" . org-roam-doctor--replace-link-keep-label))))
The ‘:name’ property is the name of the function run. The function takes in the Org parse tree, and returns a list of ‘(point error-message)’. ‘:description’ is a short description of what the checker does. ‘:actions’ is an alist containing elements of the form ‘(char . (prompt . function))’. These actions are defined per checker, to perform autofixes for the errors. For each error detected, ‘org-roam-doctor’ will move the point to the current error, and pop-up a help window displaying the error message, as well as the list of actions that can be taken provided in ‘:actions’.