Start looking at `org-id'

This commit is contained in:
Gerard Vermeulen 2024-03-06 14:26:55 +01:00
parent aa1df74e78
commit d34f51fe2b
1 changed files with 26 additions and 9 deletions

View File

@ -2243,22 +2243,23 @@ list detailing and motivating each listing:
"org-lint")}.
5. Listing [[lst:set-org-link-options]] handles [[https://orgmode.org/][Org-mode]] options specific to
[[info:org#Hyperlinks][hyperlinks (info)]].
6. Listing [[lst:setup-org-mode-map-1]] and [[lst:setup-org-mode-map-2]] extend the
6. Listing [[lst:looking-at-org-id]] enables recent ~org-id~ features.
7. Listing [[lst:setup-org-mode-map-1]] and [[lst:setup-org-mode-map-2]] extend the
=org-mode-map= with useful key-bindings.
7. Listing [[lst:setup-org-src]] facilitates [[info:org#Editing Source Code][editing source code blocks]], and it
8. Listing [[lst:setup-org-src]] facilitates [[info:org#Editing Source Code][editing source code blocks]], and it
provides functions to change the indentation of all =org-src-mode= blocks.
8. Listing [[lst:setup-ob-python]] allows to pretty-print Python session source
9. Listing [[lst:setup-ob-python]] allows to pretty-print Python session source
block values with [[https://github.com/psf/black#readme][black]] instead of [[https://docs.python.org/3/library/pprint.html][pprint]]. This snippet may break in the
future, because it sets =org-babel-python--def-format-value= which is a
constant declared "private" by two dashes in its name!
9. Listing [[lst:set-org-export-options]] selects the =non-intrusive= expert user
interface for export dispatching.
10. Listing [[lst:setup-org-for-lualatex-export]] and
10. Listing [[lst:set-org-export-options]] selects the =non-intrusive= expert user
interface for export dispatching.
11. Listing [[lst:setup-org-for-lualatex-export]] and
[[lst:set-ox-latex-options-for-lualatex-export]] configure [[https://orgmode.org/][Org-mode]] to generate
output for the LuaLaTeX compiler.
11. Listing [[lst:setup-org-latex-classes]] defines [[info:org#LaTeXspecificexportsettings][org-latex-classes (info)]] for
backward compatibility. Type {{{kbd(C-h v org-latex-classes)}}} for an
explanation of the code in listing [[lst:setup-org-latex-classes]].
12. Listing [[lst:setup-org-latex-classes]] defines [[info:org#LaTeXspecificexportsettings][org-latex-classes (info)]] for
backward compatibility. For an explanation of the code in listing
[[lst:setup-org-latex-classes]], type {{{kbd(C-h v org-latex-classes)}}}.
#+caption[Set basic =Org= options]:
#+caption: Set basic =Org= options.
@ -2382,6 +2383,22 @@ Watch out for completion `visit-tags-table' prompts."
org-link-search-must-match-exact-headline nil))
#+end_src
#+caption[Looking at =org-id=]:
#+caption: Looking at =org-id=.
#+name: lst:looking-at-org-id
#+begin_src emacs-lisp -n :results silent
(with-eval-after-load 'org-id
(setopt org-id-link-to-org-use-id t
org-id-track-globally t)
;; https://stackoverflow.com/a/16247032 answers
;; "How to assign IDs to all entries in a buffer."
(defun org-id-add-ids-to-headlines-in-buffer ()
"Add slowly ID properties to all headlines without such an ID property.
Undo this by means of `org-delete-property-globally'."
(interactive)
(org-map-entries #'org-id-get-create)))
#+end_src
#+caption[Setup =org-mode-map= 1]:
#+caption: Setup =org-mode-map= 1.
#+name: lst:setup-org-mode-map-1