emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] [BABEL] Tangling to a hierarchy of files?


From: Chris Maier
Subject: Re: [Orgmode] [BABEL] Tangling to a hierarchy of files?
Date: Wed, 19 Jan 2011 13:18:45 -0500

On Wed, Jan 19, 2011 at 12:41 PM, Eric Schulte <address@hidden> wrote:
> Chris Maier <address@hidden> writes:
>>
>> Is there a place where this and the eval-on-startup trick Charles
>> posted are documented?  If so, I missed it, and these are both really
>> useful to know.
>>
>
> We don't currently have a good place in which to collect such tricks,
> probably the closest is a file called scraps.org which I use for
> stubbing out examples when responding to mailing list questions or doing
> development.  Each subheading is a short self-contained example.  I do
> plan on transforming this at some point into either a page on Worg
> "Babel Tricks" or into a "Babel a Day" series or some such.  The page is
> available at the following (notice this dir. trick is at the top)
> https://github.com/eschulte/babel-dev/raw/master/scraps.org

Thanks for the link.

>>> 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?
>>
>> This would be a great feature to have.  Eric's embedded Lisp code
>> trick will do the job, but I can imagine that it would get cumbersome
>> for more complex projects.
>>
>
> This issue has come up recently -- also raised (I believe) by a
> Clojurian most likely wanted to create a lein directory layout.
>
> The reason that I push back against this, is that I often times
> accidentally use a tangle path in which the directory does not exist and
> the error notification serves as a useful warning that I either
> mis-typed the directory or need to create it.
>
> I would suggest either using the pre-tangle hook, or using my trick
> above, which could be made more graceful with the following function
> defined...
>
> #+begin_src emacs-lisp
>  (defun mkdir-p (file &optional dir)
>    "Create any parent directories of FILE if missing and return FILE."
>    (make-directory (file-name-directory file) (or dir ".")) file)
> #+end_src
>
> However given that there seems to be some wide support for this maybe a
> customization variable should be introduce,
> e.g. org-babel-tangle-mkdirs-p or somesuch...
>
> Cheers -- Eric

A customization variable would be fantastic.  Could it be done such
that it could be applied (or not applied, according to taste) to a
sub-tree of your Org file?  That way you could have it disabled on
whatever code you might be currently working on so you still see the
error messages if you mistype.  Then, when you're satisfied with all
your tangle paths, you could flip the switch on that sub-tree and have
Org do everything for you.

Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]