Skip to content

Instantly share code, notes, and snippets.

Created July 13, 2021 11:42
What would you like to do?
Patching Ox-html to support ID export
(defun org-html--reference (datum info &optional named-only)
"Return an appropriate reference for DATUM.
DATUM is an element or a `target' type object. INFO is the
current export state, as a plist.
When NAMED-ONLY is non-nil and DATUM has no NAME keyword, return
nil. This doesn't apply to headlines, inline tasks, radio
targets and targets."
(let* ((type (org-element-type datum))
(pcase type
((or `headline `inlinetask) :CUSTOM_ID)
((or `radio-target `target) :value)
(_ :name))
(user-label (or user-label
(when-let ((path (org-element-property :ID datum)))
(concat "ID-" path)))))
((and user-label
(or (plist-get info :html-prefer-user-labels)
;; Used CUSTOM_ID property unconditionally.
(memq type '(headline inlinetask))))
((and named-only
(not (memq type '(headline inlinetask radio-target target)))
(not user-label))
(org-export-get-reference datum info)))))
Copy link

savolla commented Aug 8, 2022

this does not work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment