|
@@ -540,17 +540,20 @@ matching filenames."
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
;;; Pluggable publishing back-end functions
|
|
|
|
|
|
-(defun org-e-publish-org-to (backend filename extension plist pub-dir)
|
|
|
+(defun org-e-publish-org-to (backend filename extension plist &optional pub-dir)
|
|
|
"Publish an Org file to a specified back-end.
|
|
|
|
|
|
BACKEND is a symbol representing the back-end used for
|
|
|
transcoding. FILENAME is the filename of the Org file to be
|
|
|
published. EXTENSION is the extension used for the output
|
|
|
string, with the leading dot. PLIST is the property list for the
|
|
|
-given project. PUB-DIR is the publishing directory.
|
|
|
+given project.
|
|
|
+
|
|
|
+Optional argument PUB-DIR, when non-nil is the publishing
|
|
|
+directory.
|
|
|
|
|
|
Return output file name."
|
|
|
- (unless (file-exists-p pub-dir) (make-directory pub-dir t))
|
|
|
+ (unless (or (not pub-dir) (file-exists-p pub-dir)) (make-directory pub-dir t))
|
|
|
;; Check if a buffer visiting FILENAME is already open.
|
|
|
(let* ((visitingp (find-buffer-visiting filename))
|
|
|
(work-buffer (or visitingp (find-file-noselect filename))))
|
|
@@ -592,12 +595,10 @@ publishing directory.
|
|
|
Return output file name."
|
|
|
(require 'org-e-latex nil t)
|
|
|
;; Unlike to `org-e-publish-org-to-latex', PDF file is generated in
|
|
|
- ;; base directory and then moved to publishing directory.
|
|
|
+ ;; working directory and then moved to publishing directory.
|
|
|
(org-e-publish-attachment
|
|
|
plist
|
|
|
- (org-e-latex-compile
|
|
|
- (org-e-publish-org-to
|
|
|
- 'e-latex filename ".tex" plist (plist-get plist :base-directory)))
|
|
|
+ (org-e-latex-compile (org-e-publish-org-to 'e-latex filename ".tex" plist))
|
|
|
pub-dir))
|
|
|
|
|
|
(defun org-e-publish-org-to-html (plist filename pub-dir)
|