From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Fix: ':recursive' and org-publish-attachment Date: Fri, 16 May 2008 16:03:56 +0200 Message-ID: <05EA1DC1-7474-45DE-97F0-E94E9081DEF1@uva.nl> References: <482CF9BE.1010502@gmx.de> Mime-Version: 1.0 (Apple Message framework v919.2) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jx0XT-0000Go-5h for emacs-orgmode@gnu.org; Fri, 16 May 2008 10:04:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jx0XS-0000GM-Be for emacs-orgmode@gnu.org; Fri, 16 May 2008 10:04:02 -0400 Received: from [199.232.76.173] (port=49092 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jx0XS-0000GB-2b for emacs-orgmode@gnu.org; Fri, 16 May 2008 10:04:02 -0400 Received: from korteweg.uva.nl ([146.50.98.70]:50652) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jx0XP-0008JC-A9 for emacs-orgmode@gnu.org; Fri, 16 May 2008 10:03:59 -0400 In-Reply-To: <482CF9BE.1010502@gmx.de> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: sebastian_rose@gmx.de Cc: "[emacs-orgmode]" Applied, thanks. - Carsten On May 16, 2008, at 5:04 AM, Sebastian Rose wrote: > 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 > _______________________________________________ > 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