diff --git a/init.el b/init.el
index 7266ac6..9b2e93c 100644
--- a/init.el
+++ b/init.el
@@ -1193,7 +1193,7 @@ if REMOTE is https://github.com/X/Y then LOCAL becomes ∼/Y."
;; Only run the following when we're in GUI mode;
;; i.e., don't run it in Github Actions when testing.
(if (not my/personal-machine?)
- (find-file "/Users/musa/Google Drive/My Drive/notes.org")) ;; Org-journal for work
+ (find-file "~/Documents/notes.org")) ;; Org-journal for work
(find-file "~/Dropbox/todo.org")
;; After startup, if Emacs is idle for 10 seconds, then open my work file;
;; which is a GPG file and so requires passphrase before other things can load.
@@ -2278,58 +2278,6 @@ the character 𝓍 before and after the selected text."
;; Can be used to export a file into a coloured html.
;; HTML ⇐ Org-mode:1 ends here
-;; [[file:init.org::*Ensuring Useful HTML Anchors][Ensuring Useful HTML Anchors:1]]
-(defun my/ensure-headline-ids (&rest _)
- "Org trees without a
-
-All non-alphanumeric characters are cleverly replaced with ‘-’.
-
-If multiple trees end-up with the same id property, issue a
-message and undo any property insertion thus far.
-
-E.g., ↯ We'll go on a ∀∃⇅ adventure
- ↦ We'll-go-on-a-adventure
-"
- (interactive)
- (let ((ids))
- (org-map-entries
- (lambda ()
- (org-with-point-at (point)
- (let ((id (org-entry-get nil "CUSTOM_ID")))
- (unless id
- (thread-last (nth 4 (org-heading-components))
- (s-replace-regexp "[^[:alnum:]']" "-")
- (s-replace-regexp "-+" "-")
- (s-chop-prefix "-")
- (s-chop-suffix "-")
- (setq id))
- (if (not (member id ids))
- (push id ids)
- (message-box "Oh no, a repeated id!\n\n\t%s" id)
- (undo)
- (setq quit-flag t))
- (org-entry-put nil "CUSTOM_ID" id))))))))
-
-;; Whenever html & md export happens, ensure we have headline ids.
-(advice-add 'org-html-export-to-html :before 'my/ensure-headline-ids)
-(advice-add 'org-md-export-to-markdown :before 'my/ensure-headline-ids)
-;; Ensuring Useful HTML Anchors:1 ends here
-
-;; [[file:init.org::*Clickable Headlines][Clickable Headlines:1]]
-;; Src: https://writepermission.com/org-blogging-clickable-headlines.html
-(setq org-html-format-headline-function
- (lambda (todo todo-type priority text tags info)
- "Format a headline with a link to itself."
- (let* ((headline (get-text-property 0 :parent text))
- (id (or (org-element-property :CUSTOM_ID headline)
- (ignore-errors (org-export-get-reference headline info))
- (org-element-property :ID headline)))
- (link (if id
- (format "%s" id text)
- text)))
- (org-html-format-headline-default-function todo todo-type priority link tags info))))
-;; Clickable Headlines:1 ends here
-
;; [[file:init.org::*HTML “Folded Drawers”][HTML “Folded Drawers”:1]]
(defun my/org-drawer-format (name contents)
"Export to HTML the drawers named with prefix ‘fold_’, ignoring case.
@@ -2625,6 +2573,25 @@ Where directory hierarchy com/x/y/z denotes a Java package under the above //!us
:bind (("s-r" . #'er/expand-region)))
;; Sleek Semantic Selection:1 ends here
+;; [[file:init.org::*my/work-links][my/work-links:1]]
+ (cl-defmacro my/work-links (type url &optional (export-display '(format "%s-%s" type label)))
+ "Given a link of TYPE with a URL, produce the correct org-link.
+
+ EXPORT-DISPLAY is string-valued term that may mention the symbolic names ‘type’ and ‘label’.
+ This is how the link looks upon export."
+ `(org-link-set-parameters
+ ,type
+ :follow (lambda (label) (browse-url (format ,url label)))
+ :export (lambda (label description backend)
+ (-let [full-url (format ,url label)]
+ (pcase backend
+ ('html (format "%s" full-url (-let [type ,type] ,export-display)))
+ ('latex (format "\\href{%s}{FM-%s}" full-url label))
+ (_ full-url))))
+ :face '(:foreground "green" :weight bold
+ :underline "blue" :overline "blue")))
+;; my/work-links:1 ends here
+
;; [[file:init.org::*Project management & navigation][Project management & navigation:1]]
;; More info & key bindings: https://docs.projectile.mx/projectile/usage.html
(use-package projectile
diff --git a/init.org b/init.org
index 7b5f52b..eeb4afd 100644
--- a/init.org
+++ b/init.org
@@ -4578,7 +4578,7 @@ my to-do list and my init file, side-by-side.
;; Only run the following when we're in GUI mode;
;; i.e., don't run it in Github Actions when testing.
(if (not my/personal-machine?)
- (find-file "/Users/musa/Google Drive/My Drive/notes.org")) ;; Org-journal for work
+ (find-file "~/Documents/notes.org")) ;; Org-journal for work
(find-file "~/Dropbox/todo.org")
;; After startup, if Emacs is idle for 10 seconds, then open my work file;
;; which is a GPG file and so requires passphrase before other things can load.
@@ -9795,36 +9795,6 @@ In particular: (my/defaliases OLD NEW) ≈ (defalias 'NEW 'OLD)."
#+end_src
#+end_details
-*** my/work-links
-:PROPERTIES:
-:CUSTOM_ID: my-work-links
-:END:
-
-In my private ~work.el~ file, I have declarations of the form ~(my/work-links
-"REPO" "https://⟨COMPANY⟩.atlassian.net/browse/REPO-%s")~ so that I can write
-things like ~REPO:1234~ to get a nice green bold link in Org-mode that will take
-me to that Jira link. I also have similar links to take me to the Github
-repositories, backlogs, and Kanban boards.
-
-#+begin_src emacs-lisp
- (cl-defmacro my/work-links (type url &optional (export-display '(format "%s-%s" type label)))
- "Given a link of TYPE with a URL, produce the correct org-link.
-
- EXPORT-DISPLAY is string-valued term that may mention the symbolic names ‘type’ and ‘label’.
- This is how the link looks upon export."
- `(org-link-set-parameters
- ,type
- :follow (lambda (label) (browse-url (format ,url label)))
- :export (lambda (label description backend)
- (-let [full-url (format ,url label)]
- (pcase backend
- ('html (format "%s" full-url (-let [type ,type] ,export-display)))
- ('latex (format "\\href{%s}{FM-%s}" full-url label))
- (_ full-url))))
- :face '(:foreground "green" :weight bold
- :underline "blue" :overline "blue")))
- #+end_src
-
*** w-start/stop-services
:PROPERTIES:
:CUSTOM_ID: w-start-stop-services
@@ -10123,6 +10093,36 @@ In my private ~work.el~ I have declarations of the form ~(my/defservice ⟨direc
(load-file "~/Desktop/work.el"))
#+end_src
+** my/work-links
+:PROPERTIES:
+:CUSTOM_ID: my-work-links
+:END:
+
+In my private ~work.el~ file, I have declarations of the form ~(my/work-links
+"REPO" "https://⟨COMPANY⟩.atlassian.net/browse/REPO-%s")~ so that I can write
+things like ~REPO:1234~ to get a nice green bold link in Org-mode that will take
+me to that Jira link. I also have similar links to take me to the Github
+repositories, backlogs, and Kanban boards.
+
+#+begin_src emacs-lisp
+ (cl-defmacro my/work-links (type url &optional (export-display '(format "%s-%s" type label)))
+ "Given a link of TYPE with a URL, produce the correct org-link.
+
+ EXPORT-DISPLAY is string-valued term that may mention the symbolic names ‘type’ and ‘label’.
+ This is how the link looks upon export."
+ `(org-link-set-parameters
+ ,type
+ :follow (lambda (label) (browse-url (format ,url label)))
+ :export (lambda (label description backend)
+ (-let [full-url (format ,url label)]
+ (pcase backend
+ ('html (format "%s" full-url (-let [type ,type] ,export-display)))
+ ('latex (format "\\href{%s}{FM-%s}" full-url label))
+ (_ full-url))))
+ :face '(:foreground "green" :weight bold
+ :underline "blue" :overline "blue")))
+ #+end_src
+
** Project management & navigation
:PROPERTIES:
:CUSTOM_ID: Project-management-navigation