The following patch fixes a bug in org-publish. There must be a better way to fix this (maybe it is fixed already) cause this one only works on the local host (?), but my poor lisp...

It is possible to supply the ':recursive' property to a project in org-publish-project-alist to publish recursively.

But org-publish-attachment crashes if one of the target sub directories does not exist. Here is a fix.



diff --git a/lisp/org-publish.el b/lisp/org-publish.el
index 55cca97..0d1e8e2 100644
--- a/lisp/org-publish.el
+++ b/lisp/org-publish.el
@@ -512,6 +512,8 @@ See `org-publish-org-to' to the list of arguments."
     (require 'eshell)
     (require 'esh-maint)
     (require 'em-unix))
+  (or (file-directory-p pub-dir)
+      (make-directory pub-dir t))
   (eshell/cp filename pub-dir))

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


M-x org-version RET
   Org-mode version 6.03pre01



I just was about getting my feet wet with elisp. But fortunately I found, that a 'recursive' property is already provided in org-publish.el! Could not find it in the docs. I feel it realy should be documented, since it is an great feature. My orgfiles already have names like emacs-orgmode.org, emacs-gnus.org and emacs-whatever.org :-D

But this did not work with static files if the target directory did not exist.




This is what I tried to do:

(setq org-publish-project-alist
      '(("org-notes"
         :base-directory "~/notes/"
         :recursive t
         :base-extension "org"
         :publishing-directory "~/htdocs/org-notes/"
         :publishing-function org-publish-org-to-html
         )
        ("org-notes-static"
         :base-directory "~/notes/"
         :recursive t
         :base-extension "css\\|js\\|png\\|jpg\\|gif"
         :publishing-directory "~/htdocs/org-notes/"
         :publishing-function org-publish-attachment)
        ("public-notes" :components ("org-notes" "org-notes-static"))))

M-x org-publish-project RET public-notes RET


The images live in a subdirectory 'img/'.

When I deleted the sub directory 'img/' under ':publishing-directory' the publishing of the images failed.




Have fun,

  Sebastian
begin:vcard
fn:Sebastian Rose
n:Rose;Sebastian
email;internet:[EMAIL PROTECTED]
title:Fachinformatiker/Anwendendungsentwicklung
tel;cell:+49 173 / 83 93 417
note;quoted-printable:Entwicklung  von Internetanwendungen und Programmen  mit  freien  Werkzeu=
	gen  und Bibliotheken.=0D=0A=
	=0D=0A=
	PHP, Java, C/C++,  Bash,  Perl,  Apache, MySQL,  PostgreSQL, xt::commerce=
	, Typo3, Server,  Netzwerk,  Desktop, Datenbank, gtkmm=0D=0A=
	
x-mozilla-html:FALSE
version:2.1
end:vcard

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to