org-id: Add title to description when storing id links
* lisp/org-id.el (org-id-store-link): Store title as link description if it is available.
This commit is contained in:
parent
2512fd702f
commit
be2966abb5
|
@ -197,6 +197,13 @@ changed to
|
|||
:height 0.75)))
|
||||
#+end_src
|
||||
|
||||
*** Storing ID-links before first heading uses title as description
|
||||
|
||||
Storing links to files using ~org-store-link~ (=<C-c l>=) when
|
||||
~org-id-link-to-org-use-id~ is not nil will now store the title as
|
||||
description of the link, if available. If no title exists it falls
|
||||
back to the filename as before.
|
||||
|
||||
* Version 9.4
|
||||
** Incompatible changes
|
||||
*** Possibly broken internal file links: please check and fix
|
||||
|
|
|
@ -693,21 +693,27 @@ optional argument MARKERP, return the position as a new marker."
|
|||
|
||||
;;;###autoload
|
||||
(defun org-id-store-link ()
|
||||
"Store a link to the current entry, using its ID."
|
||||
"Store a link to the current entry, using its ID.
|
||||
|
||||
If before first heading store first title-keyword as description
|
||||
or filename if no title."
|
||||
(interactive)
|
||||
(when (and (buffer-file-name (buffer-base-buffer)) (derived-mode-p 'org-mode))
|
||||
(let* ((link (concat "id:" (org-id-get-create)))
|
||||
(case-fold-search nil)
|
||||
(desc (save-excursion
|
||||
(org-back-to-heading-or-point-min t)
|
||||
(or (and (org-before-first-heading-p)
|
||||
(file-name-nondirectory
|
||||
(buffer-file-name (buffer-base-buffer))))
|
||||
(and (looking-at org-complex-heading-regexp)
|
||||
(if (match-end 4)
|
||||
(match-string 4)
|
||||
(match-string 0)))
|
||||
link))))
|
||||
(cond ((org-before-first-heading-p)
|
||||
(let ((keywords (org-collect-keywords '("TITLE"))))
|
||||
(if keywords
|
||||
(car (alist-get "TITLE" keywords nil nil 'equal))
|
||||
(file-name-nondirectory
|
||||
(buffer-file-name (buffer-base-buffer))))))
|
||||
((looking-at org-complex-heading-regexp)
|
||||
(if (match-end 4)
|
||||
(match-string 4)
|
||||
(match-string 0)))
|
||||
(t link)))))
|
||||
(org-link-store-props :link link :description desc :type "id")
|
||||
link)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue