#+name: org-id-remap.el
#+headers: :tangle ~/org/org-id-remap.el
#+begin_src emacs-lisp :lexical t :results silent :noweb yes
;;; org-id-remap.el --- Org ID Remap -*- lexical-binding: t; -*-
;;; Commentary:
;; <<@([[id:2dbd9f3a-f668-46cd-9330-bc2d931eb3dd:::2025-06-21-23-11:]])>>
(defvar org-id-remap-cache-file
(expand-file-name "id-cache.org" org-directory)
"Org ID Remap cache file.")
(defalias 'org-id-remap
((lambda (open cache log id->ids id->urls)
(when (fboundp 'org-id-remap)
(org-id-remap nil))
;;; Logging
(defalias log
(lambda (fmt &rest args)
(when debug-on-error
(princ
(apply
#'format
(concat
(format-time-string
"[%Y-%m-%d %H:%M:%S.%3N]"
(current-time))
fmt "\n")
args)
(get-buffer-create
" *log:org-id-remap*")))))
;;; Cache URL Resource
(defalias cache
((lambda (browse-url cache-url)
<<@([[id:org-id-remap.el::org-id-remap-cache]])>>)
;;;; browse url
<<@([[id:org-id-remap.el::browse-url]])>>
;;;; cache url
<<@([[id:org-id-remap.el::cache-url]])>>))
;;; Adivce `org-id-open'
(defalias open
<<@([[id:org-id-remap.el::org-id-remap-org-id-open-advice]])>>)
;;; Entry: org-id-remap
<<@([[id:org-id-remap.el::org-id-remap]])>>)
;;; Private
(make-symbol "org-id-remap-open")
(make-symbol "org-id-remap-cache")
(make-symbol "org-id-remap-log")
(make-hash-table :test #'equal)
(make-hash-table :test #'equal)))
(provide 'org-id-remap)
;; Local variables:
;; fill-column: 54
;; End:
;;; org-id-remap.el ends here
#+end_src