Revised build.el to deal with Org import, Python3 import
This commit is contained in:
parent
883e6f8829
commit
8fbcdc0417
30
build.el
30
build.el
|
|
@ -1,12 +1,39 @@
|
||||||
|
;; Load org and Babel tangle explicitly
|
||||||
|
(require 'ob-tangle)
|
||||||
|
(require 'ob-org)
|
||||||
|
(org-babel-do-load-languages 'org-babel-load-languages
|
||||||
|
'((org . t))) ;; <-- enable tangling of #+BEGIN_SRC org blocks
|
||||||
|
|
||||||
;; Batch export & site publish
|
;; Batch export & site publish
|
||||||
(setq org-confirm-babel-evaluate nil)
|
(setq org-confirm-babel-evaluate nil)
|
||||||
(setq org-latex-pdf-process '("latexmk -pdf -interaction=nonstopmode -shell-escape %f"))
|
(setq org-latex-pdf-process '("latexmk -pdf -interaction=nonstopmode -shell-escape %f"))
|
||||||
|
|
||||||
|
|
||||||
|
;; --- Babel / Python setup for batch exports ---
|
||||||
|
(setq org-confirm-babel-evaluate nil)
|
||||||
|
(setq org-babel-python-command "python3")
|
||||||
|
(setenv "MPLBACKEND" "Agg") ;; headless matplotlib
|
||||||
|
|
||||||
|
;; Load languages you use in code blocks
|
||||||
|
(org-babel-do-load-languages 'org-babel-load-languages
|
||||||
|
'((python . t)))
|
||||||
|
|
||||||
|
(defun wes--inject-setupfile (venue)
|
||||||
|
"Insert a per-venue #+SETUPFILE line at the top of the current buffer."
|
||||||
|
(save-excursion
|
||||||
|
(goto-char (point-min))
|
||||||
|
;; remove any previously injected line from a prior run
|
||||||
|
(when (looking-at "^#\\+SETUPFILE: setup/venue-.*\\.org")
|
||||||
|
(delete-region (line-beginning-position) (1+ (line-end-position))))
|
||||||
|
(insert (format "#+SETUPFILE: setup/venue-%s.org\n" venue))))
|
||||||
|
|
||||||
|
|
||||||
(defun wes/export-pdf (&optional venue)
|
(defun wes/export-pdf (&optional venue)
|
||||||
(let* ((v (or venue (or (getenv "VENUE") "arxiv")))
|
(let* ((v (or venue (or (getenv "VENUE") "arxiv")))
|
||||||
(outfile (format "paper-%s.pdf" v)))
|
(outfile (format "paper-%s.pdf" v)))
|
||||||
(with-current-buffer (find-file-noselect "paper.org")
|
(with-current-buffer (find-file-noselect "paper.org")
|
||||||
(setenv "VENUE" v)
|
(setenv "VENUE" v)
|
||||||
|
(wes--inject-setupfile v)
|
||||||
(org-latex-export-to-pdf nil nil nil t)
|
(org-latex-export-to-pdf nil nil nil t)
|
||||||
(when (file-exists-p "paper.pdf")
|
(when (file-exists-p "paper.pdf")
|
||||||
(rename-file "paper.pdf" outfile t))
|
(rename-file "paper.pdf" outfile t))
|
||||||
|
|
@ -18,6 +45,7 @@
|
||||||
(defun wes/publish-site (&optional venue)
|
(defun wes/publish-site (&optional venue)
|
||||||
(let* ((v (or venue (or (getenv "VENUE") "arxiv"))))
|
(let* ((v (or venue (or (getenv "VENUE") "arxiv"))))
|
||||||
(setenv "VENUE" v)
|
(setenv "VENUE" v)
|
||||||
|
(wes--inject-setupfile v)
|
||||||
(setq org-publish-project-alist
|
(setq org-publish-project-alist
|
||||||
`(("site-html"
|
`(("site-html"
|
||||||
:base-directory "."
|
:base-directory "."
|
||||||
|
|
@ -67,6 +95,7 @@
|
||||||
(progn
|
(progn
|
||||||
(with-current-buffer (find-file-noselect "paper.org")
|
(with-current-buffer (find-file-noselect "paper.org")
|
||||||
(setenv "VENUE" tmp-name)
|
(setenv "VENUE" tmp-name)
|
||||||
|
(wes--inject-setupfile v)
|
||||||
(org-latex-export-to-pdf nil nil nil t)
|
(org-latex-export-to-pdf nil nil nil t)
|
||||||
(when (file-exists-p "paper.pdf")
|
(when (file-exists-p "paper.pdf")
|
||||||
(rename-file "paper.pdf" outfile t))
|
(rename-file "paper.pdf" outfile t))
|
||||||
|
|
@ -83,6 +112,7 @@
|
||||||
(org-export-exclude-tags '("noexport")))
|
(org-export-exclude-tags '("noexport")))
|
||||||
(with-current-buffer (find-file-noselect "paper.org")
|
(with-current-buffer (find-file-noselect "paper.org")
|
||||||
(setenv "VENUE" v)
|
(setenv "VENUE" v)
|
||||||
|
(wes--inject-setupfile v)
|
||||||
(org-latex-export-to-pdf nil nil nil t)
|
(org-latex-export-to-pdf nil nil nil t)
|
||||||
(when (file-exists-p "paper.pdf")
|
(when (file-exists-p "paper.pdf")
|
||||||
(rename-file "paper.pdf" outfile t))
|
(rename-file "paper.pdf" outfile t))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue