68 lines
2.3 KiB
Org Mode
68 lines
2.3 KiB
Org Mode
|
#+title: org-unique-id
|
|||
|
#+author: Lucien Cartier-Tilet
|
|||
|
#+email: lucien@phundrak.com
|
|||
|
|
|||
|
* Introduction
|
|||
|
~org-unique-id~ is a utility package for org users that are tired
|
|||
|
dealing with random org IDs for their headers that change on each org
|
|||
|
to HTML export (and other kinds of exports). This package creates
|
|||
|
meaningful custom IDs for org headers that won’t change unless the
|
|||
|
user modifies them manually.
|
|||
|
|
|||
|
* Table of Contents :TOC_2_gh:
|
|||
|
- [[#introduction][Introduction]]
|
|||
|
- [[#installation][Installation]]
|
|||
|
- [[#contributing][Contributing]]
|
|||
|
- [[#license][License]]
|
|||
|
|
|||
|
* Installation
|
|||
|
This package can be installed like any other simple package. Your
|
|||
|
first option is to download ~org-unique-id~ or clone this package in
|
|||
|
your ~load-path~ and add the following to your configuration:
|
|||
|
#+begin_src emacs-lisp
|
|||
|
(require 'org-unique-id)
|
|||
|
(add-hook 'org-mode-hook
|
|||
|
(lambda ()
|
|||
|
(add-hook 'before-save-hook
|
|||
|
(lambda ()
|
|||
|
(when (and (eq major-mode 'org-mode)
|
|||
|
(eq buffer-read-only nil))
|
|||
|
(org-unique-id))))))
|
|||
|
#+end_src
|
|||
|
|
|||
|
You can also use a package manager such as Quelpa or Straight in order
|
|||
|
to load automatically your package. In my case, I prefer the latter
|
|||
|
with its ~use-package~ integration:
|
|||
|
#+begin_src emacs-lisp
|
|||
|
(use-package org-unique-id
|
|||
|
:require t
|
|||
|
:after org
|
|||
|
:straight (org-unique-id :type git
|
|||
|
:host github
|
|||
|
:repo "Phundrak/org-unique-id")
|
|||
|
:init
|
|||
|
(add-hook 'org-mode-hook
|
|||
|
(lambda ()
|
|||
|
(add-hook 'before-save-hook
|
|||
|
(lambda ()
|
|||
|
(when (and (eq major-mode 'org-mode)
|
|||
|
(eq buffer-read-only nil))
|
|||
|
(org-unique-id)))))))
|
|||
|
|
|||
|
#+end_src
|
|||
|
|
|||
|
I also add ~:build t~ to my straight recipe to ensure my package is compiled.
|
|||
|
|
|||
|
If you know how to handle this with a pure Straight recipe, or with a
|
|||
|
Quelpa recipe, don’t hesitate to submit a PR to add it to this README!
|
|||
|
|
|||
|
Also, DAMN that’s one hell of a hook, if you know anything simpler
|
|||
|
than this, please submit it!
|
|||
|
|
|||
|
* Contributing
|
|||
|
See [[file:CONTRIBUTING.org]].
|
|||
|
|
|||
|
* License
|
|||
|
~org-unique-id~ is available under the GNU GPL-3.0 license. You can find
|
|||
|
the full text in [[file:LICENSE.md][LICENSE.md]].
|