Linking to Org Babel source in a comment, and making that always use file links
| emacs, orgI've been experimenting with these default header args for Org Babel source blocks.
(setq org-babel-default-header-args '((:session . "none") (:results . "drawer replace") (:comments . "link") ;; add a link to the original source (:exports . "both") (:cache . "no") (:eval . "never-export") ;; explicitly evaluate blocks instead of evaluating them during export (:hlines . "no") (:tangle . "no"))) ;; I have to explicitly set up blocks for tangling
In particular, :comments link
adds a comment
before each source block with a link to the file
it came from. This allows me to quickly jump to
the actual definition. It also lets me use
org-babel-detangle
to copy changes back to my
Org file.
I also have a custom link type to make it easier
to link to sections of my configuration file
(Links to my config). Org Mode prompts for the
link type to use when more than one function
returns a link for storing, so that was
interrupting my tangling with lots of interactive
prompts. The following piece of advice ignores all
the custom link types when tangling the link
reference. That way, the link reference always
uses the file:
link instead of offering my
custom link types.
(advice-add #'org-babel-tangle--unbracketed-link :around (lambda (old-fun &rest args) (let (org-link-parameters) (apply old-fun args))))