From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rainer M Krug Subject: Re: [BABEL] Tangling to a hierarchy of files? Date: Wed, 19 Jan 2011 11:05:33 +0100 Message-ID: <4D36B76D.9020502@gmail.com> References: <87tyh5icir.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=56218 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PfUv4-0002xe-SB for emacs-orgmode@gnu.org; Wed, 19 Jan 2011 05:05:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PfUv3-0007QT-Fg for emacs-orgmode@gnu.org; Wed, 19 Jan 2011 05:05:38 -0500 Received: from mail-ww0-f49.google.com ([74.125.82.49]:43447) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PfUv3-0007QN-AM for emacs-orgmode@gnu.org; Wed, 19 Jan 2011 05:05:37 -0500 Received: by wwb17 with SMTP id 17so670214wwb.30 for ; Wed, 19 Jan 2011 02:05:36 -0800 (PST) In-Reply-To: <87tyh5icir.fsf@gmail.com> 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: Eric Schulte Cc: emacs-orgmode@gnu.org, Christopher Maier , "Charles C. Berry" -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 01/19/2011 08:22 AM, Eric Schulte wrote: > "Charles C. Berry" writes: > >> On Wed, 19 Jan 2011, Christopher Maier wrote: >> >>> I've been experimenting with literate programming using Org mode recently and am >>> really enjoying it. I am trying to figure out the best way to create a nested >>> hierarchy of tangled files from a single Org file, and am not sure the best way >>> to go about it. >>> >>> I know that, for example, this block, when tangled, will produce a file >>> "foo.clj" in the same directory as my Org file... so far so good. >>> >>> #+begin_src clojure :tangle foo.clj >>> (ns foo) >>> >>> (defn my-inc [x] >>> (+ x 1)) >>> #+end_src >>> >>> However, I would like to be able to do something like this: >>> >>> #+begin_src clojure :tangle src/foo.clj >>> (ns foo) >>> >>> (defn my-inc [x] >>> (+ x 1)) >>> #+end_src >>> > > In addition to the solution Charles posted, it is possible to put > arbitrary elisp forms into header arguments, so the following > alternative to your block above will create the directory (if it doesn't > already exist) whenever the block is tangled or evaluated. > > #+begin_src clojure :tangle (prog1 "src/foo.clj" (make-directory "src" ".")) > (ns foo) > > (defn my-inc [x] > (+ x 1)) > #+end_src Would it be possible, to include this into tangling, i.e. if the folder in which the source file should be created does not exist, create it? I remember vaguely a discussion along these lines some time ago, but I don't remember the outcome? Rainer > > Cheers -- Eric > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode - -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Natural Sciences Building Office Suite 2039 Stellenbosch University Main Campus, Merriman Avenue Stellenbosch South Africa Tel: +33 - (0)9 53 10 27 44 Cell: +27 - (0)8 39 47 90 42 Fax (SA): +27 - (0)8 65 16 27 82 Fax (D) : +49 - (0)3 21 21 25 22 44 Fax (FR): +33 - (0)9 58 10 27 44 email: Rainer@krugs.de Skype: RMkrug -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk02t20ACgkQoYgNqgF2egqJcwCeMaM/k5MeTsZ07crbr0CfpCMB zrkAniGC6QejbjMsksxnD7I/QS3em0Xh =+yMc -----END PGP SIGNATURE-----