diff --git a/lisp/org-publish.el b/lisp/org-publish.el index de52410..f32aa94 100644 --- a/lisp/org-publish.el +++ b/lisp/org-publish.el @@ -578,13 +578,18 @@ See `org-publish-org-to' to the list of arguments." "Publish a file with no transformation of any kind. See `org-publish-org-to' to the list of arguments." ;; make sure eshell/cp code is loaded +(let* ((rel-dir + (file-relative-name + (file-name-directory filename) + (plist-get plist :base-directory))) + (pub-dir + (expand-file-name + (concat (file-name-as-directory pub-dir) rel-dir)))) (unless (file-directory-p pub-dir) (make-directory pub-dir t)) (or (equal (expand-file-name (file-name-directory filename)) (file-name-as-directory (expand-file-name pub-dir))) - (copy-file filename - (expand-file-name (file-name-nondirectory filename) pub-dir) - t))) + (copy-file filename pub-dir t)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Publishing files, sets of files, and indices