fix org async export
This commit is contained in:
@@ -10,7 +10,86 @@
|
||||
|
||||
(use-package my-org-article
|
||||
:load-path (lambda() (concat config-dir "lisp/my"))
|
||||
:after (org))
|
||||
:after (org)
|
||||
:config
|
||||
;; HTML
|
||||
(defun my-org-article-html-export-to-html-notify (&optional async subtreep visible-only body-only ext-plist)
|
||||
"HTML article export.
|
||||
Extended `my-org-article-html-export-to-html' with an additional
|
||||
notification."
|
||||
(interactive)
|
||||
(let* ((extension (concat
|
||||
(when (> (length org-html-extension) 0) ".")
|
||||
(or (plist-get ext-plist :html-extension)
|
||||
org-html-extension
|
||||
"html")))
|
||||
(file (org-export-output-file-name extension subtreep))
|
||||
;; need to bind this because tufte treats footnotes specially, so we
|
||||
;; don't want to display them at the bottom
|
||||
(org-html-footnotes-section (if org-tufte-include-footnotes-at-bottom
|
||||
org-html-footnotes-section
|
||||
"<!-- %s --><!-- %s -->")))
|
||||
(org-export-to-file 'article-html file async subtreep
|
||||
visible-only body-only ext-plist
|
||||
(lambda (file) ;; is called with FILE and has to return a file name.
|
||||
(progn
|
||||
(when my-dbusp
|
||||
(use-package notifications)
|
||||
(notifications-notify
|
||||
:title "Emacs Org Article HTML Export"
|
||||
:body "Export <b>done</b>."
|
||||
:timeout 60000
|
||||
:urgency 'normal
|
||||
:category "transfer"))
|
||||
file))))) ;; is needed for the asynchronous task
|
||||
|
||||
(defun my-org-article-html-export-to-html-notify-async ()
|
||||
"HTML article async export.
|
||||
Run `my-org-article-html-export-to-html' async and kill gnuplot
|
||||
buffer. See also async init file `org-export-async-init-file'."
|
||||
(interactive)
|
||||
(save-buffer)
|
||||
(when (get-buffer "*gnuplot*")
|
||||
(kill-buffer "*gnuplot*")) ;; to get a new session
|
||||
(my-org-article-html-export-to-html-notify t))
|
||||
|
||||
(org-defkey org-mode-map [f5] 'my-org-article-html-export-to-html-notify-async)
|
||||
|
||||
;; LaTeX
|
||||
(defun my-org-article-latex-export-to-pdf-notify
|
||||
(&optional async subtreep visible-only body-only ext-plist)
|
||||
"LaTeX article export.
|
||||
Extended `my-org-article-latex-export-to-pdf' with an additional
|
||||
notification."
|
||||
(interactive)
|
||||
(let ((outfile (org-export-output-file-name ".tex" subtreep)))
|
||||
(org-export-to-file 'article-latex outfile
|
||||
async subtreep visible-only body-only ext-plist
|
||||
(lambda (file) ;; is called with FILE and has to return a file name.
|
||||
(let ((output (org-latex-compile file)))
|
||||
(when my-dbusp
|
||||
(use-package notifications)
|
||||
(notifications-notify
|
||||
:title "Emacs Org Article Latex Export to PDF"
|
||||
:body "Export <b>done</b>."
|
||||
:timeout 60000
|
||||
:urgency 'normal
|
||||
:category "transfer"))
|
||||
output))))) ;; is needed for the asynchronous task
|
||||
|
||||
(defun my-org-article-latex-export-to-pdf-notify-async ()
|
||||
"LaTeX article async export.
|
||||
Run `my-org-article-latex-export-to-pdf-notify' async and kill
|
||||
gnuplot buffer. See also async init file
|
||||
`org-export-async-init-file'."
|
||||
(interactive)
|
||||
(save-buffer)
|
||||
(when (get-buffer "*gnuplot*")
|
||||
(kill-buffer "*gnuplot*")) ;; to get a new session
|
||||
(my-org-article-latex-export-to-pdf-notify t))
|
||||
|
||||
(org-defkey org-mode-map [f6] 'my-org-article-latex-export-to-pdf-notify-async)
|
||||
)
|
||||
|
||||
(use-package my-org-letter
|
||||
:load-path (lambda() (concat config-dir "lisp/my"))
|
||||
|
||||
Reference in New Issue
Block a user