changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate emacs/lib/publish.el

changeset 618: 5e57683a0c28
parent: f03dbf6338ed
child: ab02408636b7
author: Richard Westhaver <ellis@rwest.io>
date: Wed, 21 Aug 2024 21:14:46 -0400
permissions: -rw-r--r--
description: rocksdb updates and tests, emacs org config
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
1
 ;;; publish.el --- the.compiler.company publishing script  -*- lexical-binding:t -*-
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
2
 
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
3
 ;; emacsclient -e '(load-file "publish.el")' '(publish)'
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
4
 
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
5
 ;;; Code:
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
6
 (require 'ox-publish)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
7
 (require 'org-id)
606
6fc04c4d465c emacs and rocksdb upgrades
Richard Westhaver <ellis@rwest.io>
parents: 605
diff changeset
8
 (require 'dash)
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
9
 ;; vendored
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
10
 (require 'htmlize)
395
d876b572b5b9 updates
Richard Westhaver <ellis@rwest.io>
parents: 143
diff changeset
11
 (defvar project-dir "~/comp/org")
563
8b10eabe89dd std/tests, clap tweaks
Richard Westhaver <ellis@rwest.io>
parents: 451
diff changeset
12
 (defvar publish-dir "/tmp/www")
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
13
 (defvar html-theme nil)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
14
 (defvar url "https://compiler.company")
406
71baf0d4768d skel work
Richard Westhaver <ellis@rwest.io>
parents: 397
diff changeset
15
 (defvar vc-url "https://vc.compiler.company")
71baf0d4768d skel work
Richard Westhaver <ellis@rwest.io>
parents: 397
diff changeset
16
 (defvar packy-url "https://packy.compiler.company")
428
af3d873a0312 clean.theme upgrades
Richard Westhaver <ellis@rwest.io>
parents: 422
diff changeset
17
 (defvar html-nav (format "<div class=\"nav\" id=\"nav\"><h2 id=\"index\">*</h2><div id=\"text-index\"> (<a href = \"%s\">~</a><br> (<a href = \"%s/blog\">blog</a> <a href = \"%s/docs\">docs</a> <a href = \"%s/plan\">plan</a> <a href = \"%s/notes\">notes</a>)<br> (<a href = \"%s\">vc</a> <a href = \"%s\">packy</a>))</div></div>"
613
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
18
                          url url url url url vc-url packy-url))
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
19
 
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
20
 (defvar html-foot "<footer><p>updated %C</p></footer>")
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
21
 
396
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
22
 ;; (setq org-protocol-project-alist
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
23
 ;;       '(("comp"
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
24
 ;;          :base-url url
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
25
 ;;          :working-directory project-dir
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
26
 ;;          :online-suffix ".html"
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
27
 ;;          :working-suffix ".org")))
6f2796285c41 bug fix, messing with org 9.7 features
Richard Westhaver <ellis@rwest.io>
parents: 395
diff changeset
28
 
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
29
 (setq org-html-style-default ""
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
30
       org-html-scripts ""
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
31
       org-html-htmlize-output-type 'css
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
32
       org-export-htmlize-output-type 'css
447
1365263e8311 publish updates
Richard Westhaver <ellis@rwest.io>
parents: 428
diff changeset
33
       org-export-allow-bind-keywords t
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
34
       org-html-doctype "html5"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
35
       org-html-html5-fancy t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
36
       org-html-validation-link nil
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
37
       org-src-fontify-natively t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
38
       make-backup-files nil
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
39
       debug-on-error t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
40
       org-id-link-to-org-use-id t)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
41
 
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
42
 (setq org-publish-project-alist
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
43
       `(("compiler.company" :components ("index" "meta" "blog" "docs" "notes" "plan"))
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
44
         ("index"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
45
          :base-directory ,project-dir
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
46
          :base-extension "org"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
47
          :recursive nil
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
48
          :htmlized-source t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
49
          :footnote-section-p t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
50
          :html-doctype "<!doctype html>"
451
8e94959e96bd build updates, incorporate cargo
Richard Westhaver <ellis@rwest.io>
parents: 447
diff changeset
51
 	 ;; :html-preamble ,html-nav
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
52
 	 :html-postamble ,html-foot
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
53
          :publishing-directory ,publish-dir
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
54
          :publishing-function org-html-publish-to-html)
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
55
         ("meta"
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
56
          :base-directory ,(expand-file-name "meta" project-dir)
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
57
          :base-extension "org"
618
5e57683a0c28 rocksdb updates and tests, emacs org config
Richard Westhaver <ellis@rwest.io>
parents: 614
diff changeset
58
          :recursive nil
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
59
          :footnote-section-p t
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
60
          :html-doctype "<!doctype html>"
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
61
          :publishing-directory ,(expand-file-name "meta" publish-dir)
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
62
          :publishing-function org-html-publish-to-html
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
63
          :htmlized-source t
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
64
          :html-preamble ,html-nav
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
65
          :html-postamble ,html-foot)
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
66
         ("blog"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
67
          :base-directory ,(expand-file-name "blog" project-dir)
428
af3d873a0312 clean.theme upgrades
Richard Westhaver <ellis@rwest.io>
parents: 422
diff changeset
68
          :recursive t
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
69
          :base-extension "org"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
70
          :footnote-section-p t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
71
          :html-doctype "<!doctype html>"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
72
 	 :publishing-directory ,(expand-file-name "blog" publish-dir)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
73
 	 :publishing-function org-html-publish-to-html
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
74
 	 :htmlized-source t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
75
 	 :html-preamble ,html-nav
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
76
 	 :html-postamble ,html-foot)
422
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
77
         ("plan"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
78
          :base-directory ,(expand-file-name "plan" project-dir)
428
af3d873a0312 clean.theme upgrades
Richard Westhaver <ellis@rwest.io>
parents: 422
diff changeset
79
          :recursive t
422
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
80
          :base-extension "org"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
81
          :footnote-section-p t
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
82
          :html-doctype "<!doctype html>"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
83
          :publishing-directory ,(expand-file-name "plan" publish-dir)
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
84
          :publishing-function org-html-publish-to-html
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
85
          :htmlized-source t
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
86
          :html-preamble ,html-nav
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
87
          :html-postamble ,html-foot)
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
88
         ("notes"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
89
          :base-directory ,(expand-file-name "notes" project-dir)
428
af3d873a0312 clean.theme upgrades
Richard Westhaver <ellis@rwest.io>
parents: 422
diff changeset
90
          :recursive t
422
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
91
          :base-extension "org"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
92
          :footnote-section-p t
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
93
          :html-doctype "<!doctype html>"
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
94
          :publishing-directory ,(expand-file-name "notes" publish-dir)
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
95
          :publishing-function org-html-publish-to-html
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
96
          :htmlized-source t
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
97
          :html-preamble ,html-nav
3e0a434b0c56 init alik installer example, more emacs-lisp
Richard Westhaver <ellis@rwest.io>
parents: 406
diff changeset
98
          :html-postamble ,html-foot)
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
99
         ("docs"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
100
          :base-directory ,(expand-file-name "docs" project-dir)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
101
          :base-extension "org"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
102
          :recursive t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
103
          :footnote-section-p t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
104
          :html-doctype "<!doctype html>"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
105
          :publishing-directory ,(expand-file-name "docs" publish-dir)
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
106
          :publishing-function org-html-publish-to-html
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
107
          :htmlized-source t
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
108
          :html-preamble ,html-nav
587
Richard Westhaver <ellis@rwest.io>
parents: 563
diff changeset
109
          :html-postamble ,html-foot)))
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
110
 
613
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
111
 ;; (defun org-export-get-reference-title (datum info)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
112
 ;;   "Like `org-export-get-reference', except uses heading titles instead of random numbers."
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
113
 ;;   (let ((cache (plist-get info :internal-references)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
114
 ;;     (or (car (rassq datum cache))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
115
 ;;         (let* ((crossrefs (plist-get info :crossrefs))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
116
 ;;                (cells (org-export-search-cells datum))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
117
 ;;                ;; Preserve any pre-existing association between
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
118
 ;;                ;; a search cell and a reference, i.e., when some
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
119
 ;;                ;; previously published document referenced a location
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
120
 ;;                ;; within current file (see
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
121
 ;;                ;; `org-publish-resolve-external-link').
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
122
 ;;                ;;
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
123
 ;;                ;; However, there is no guarantee that search cells are
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
124
 ;;                ;; unique, e.g., there might be duplicate custom ID or
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
125
 ;;                ;; two headings with the same title in the file.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
126
 ;;                ;;
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
127
 ;;                ;; As a consequence, before re-using any reference to
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
128
 ;;                ;; an element or object, we check that it doesn't refer
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
129
 ;;                ;; to a previous element or object.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
130
 ;;                (new (or (cl-some
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
131
 ;;                          (lambda (cell)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
132
 ;;                            (let ((stored (cdr (assoc cell crossrefs))))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
133
 ;;                              (when stored
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
134
 ;;                                (let ((old (org-export-format-reference stored)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
135
 ;;                                  (and (not (assoc old cache)) stored)))))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
136
 ;;                          cells)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
137
 ;;                         (when (org-element-property :raw-value datum)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
138
 ;;                           ;; Heading with a title
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
139
 ;;                           (org-export-new-title-reference datum cache))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
140
 ;;                         ;; NOTE: This probably breaks some Org Export
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
141
 ;;                         ;; feature, but if it does what I need, fine.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
142
 ;;                         (org-export-format-reference
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
143
 ;;                          (org-export-new-reference cache))))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
144
 ;;                (reference-string new))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
145
 ;;           ;; Cache contains both data already associated to
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
146
 ;;           ;; a reference and in-use internal references, so as to make
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
147
 ;;           ;; unique references.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
148
 ;;           (dolist (cell cells) (push (cons cell new) cache))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
149
 ;;           ;; Retain a direct association between reference string and
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
150
 ;;           ;; DATUM since (1) not every object or element can be given
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
151
 ;;           ;; a search cell (2) it permits quick lookup.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
152
 ;;           (push (cons reference-string datum) cache)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
153
 ;;           (plist-put info :internal-references cache)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
154
 ;;           reference-string))))
605
3734c596d103 rm babel, update org config
Richard Westhaver <ellis@rwest.io>
parents: 604
diff changeset
155
 
613
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
156
 ;; (defun org-export-new-title-reference (datum cache)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
157
 ;;   "Return new reference for DATUM that is unique in CACHE."
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
158
 ;;   (cl-macrolet ((inc-suffixf (place)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
159
 ;;                              `(progn
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
160
 ;;                                 (string-match (rx bos
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
161
 ;;                                                   (minimal-match (group (1+ anything)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
162
 ;;                                                   (optional "--" (group (1+ digit)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
163
 ;;                                                   eos)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
164
 ;;                                               ,place)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
165
 ;;                                 ;; HACK: `s1' instead of a gensym.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
166
 ;;                                 (-let* (((s1 suffix) (list (match-string 1 ,place)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
167
 ;;                                                            (match-string 2 ,place)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
168
 ;;                                         (suffix (if suffix
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
169
 ;;                                                     (string-to-number suffix)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
170
 ;;                                                   0)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
171
 ;;                                   (setf ,place (format "%s--%s" s1 (cl-incf suffix)))))))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
172
 ;;     (let* ((title (org-element-property :raw-value datum))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
173
 ;;            (ref (url-hexify-string (substring-no-properties title)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
174
 ;;            (parent (org-element-property :parent datum)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
175
 ;;       (while (--any (equal ref (car it))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
176
 ;;                     cache)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
177
 ;;         ;; Title not unique: make it so.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
178
 ;;         (if parent
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
179
 ;;             ;; Append ancestor title.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
180
 ;;             (setf title (concat (org-element-property :raw-value parent)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
181
 ;;                                 "--" title)
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
182
 ;;                   ref (url-hexify-string (substring-no-properties title))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
183
 ;;                   parent (org-element-property :parent parent))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
184
 ;;           ;; No more ancestors: add and increment a number.
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
185
 ;;           (inc-suffixf ref)))
9ffe93dbe9b9 el tweaks
Richard Westhaver <ellis@rwest.io>
parents: 611
diff changeset
186
 ;;       ref)))
605
3734c596d103 rm babel, update org config
Richard Westhaver <ellis@rwest.io>
parents: 604
diff changeset
187
 
143
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
188
 ;;;###autoload
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
189
 (defun publish (&optional sitemap static force async)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
190
   "publish `rwest-io' content.
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
191
 If STATIC is t, also publish media and static files.
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
192
 If FORCE is t, skip checking file mod date and just publish all files.
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
193
 If ASYNC is t, call `org-publish' asynchronously.
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
194
 If given a prefix (C-u), set all args to t"
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
195
   (interactive)
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
196
   (if current-prefix-arg
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
197
       (setq static t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
198
 	    force t
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
199
             async t))
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
200
   (let ((default-directory project-dir))
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
201
     (message (format "publishing from %s" default-directory))    
64d36c0e3942 podman shenanigans
ellis <ellis@rwest.io>
parents:
diff changeset
202
     (org-publish "compiler.company" force async)))
614
f03dbf6338ed tryin to fix broken publish pipeline
Richard Westhaver <ellis@rwest.io>
parents: 613
diff changeset
203
 
604
74a55d5decce emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents: 588
diff changeset
204
 (provide 'publish)
74a55d5decce emacs org libraries and upgrades
Richard Westhaver <ellis@rwest.io>
parents: 588
diff changeset
205
 ;;; publish.el ends here