alphapapa / alphapapa/org-make-toc

modified to keep existing CUSTOM_IDs

Offen
#33 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @alphapapa Auf GitHub ansehen
bug enhancement
Vorherrschende Sprache
Emacs Lisp
Sterne
116
Forks
18
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

```
(defun org-make-toc--link-entry-github (pos)
"Return text for entry at POS converted to GitHub style link."
(-when-let* ((title (org-link-display-format (org-entry-get pos "ITEM")))
(target (--> title
org-link-display-format
(downcase it)
(replace-regexp-in-string " " "-" it)
(replace-regexp-in-string "[^[:alnum:]_-]" "" it)))
(filename (if org-make-toc-filename-prefix
(file-name-nondirectory (buffer-file-name))
"")))
(let ((existing-id (org-entry-get pos "CUSTOM_ID")))
;; Only set the CUSTOM_ID if it doesn't already exist
(unless existing-id
(when org-make-toc-insert-custom-ids
(setf target (or (gethash pos org-make-toc-ids)
(setf (gethash pos org-make-toc-ids)
(org-make-toc--disambiguate target))))
(org-set-property "CUSTOM_ID" target)))
(org-link-make-string (concat filename "#" (or existing-id target))
(org-make-toc--visible-text title)))))

```

thank you very much for all you do!

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.