emacs-orgmode
[Top][All Lists]
Advanced

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

[O] Exporting noweb-ref's without disabling org-babel processing


From: Diego Zamboni
Subject: [O] Exporting noweb-ref's without disabling org-babel processing
Date: Tue, 22 Oct 2019 22:29:08 +0200

Hi,

I'm working on a Leanpub Markua exporter (not quite complete yet but already usable, if you are interested: https://github.com/zzamboni/ox-leanpub/tree/book-and-markua)

I would like to include the value of :noweb-ref for code blocks in exported output, like noweb originally did, e.g. something like this:

#begin_src emacs_lisp :noweb-ref super-duper-code
...
#end_src

to produce something like this in the export:

<<super-duper-code>>=
 ...

After much poking around, I figured that the :noweb and :noweb-ref header args are removed by org-babel *before* the src block makes it to the exporter. I also discovered that by setting org-export-use-babel to nil I could disable this behavior, which means that my exporter can access the :noweb-ref argument by parsing the :parameters property (see https://github.com/zzamboni/ox-leanpub/blob/book-and-markua/ox-leanpub-markua.el#L388).

This was good for my original purpose, but I just realized that this also disables other useful org-babel features on export, such as the processing of the :exports header argument, which means that both code and results are always included in the export regardless of what :exports says :)

I have tried using org-babel-exp-code-template, but unfortunately if I try to use "%noweb-ref" as a key in its value, it gets replaced by the value of :noweb followed by "-ref" in every case.

Is there some other way of accessing org-babel header arguments like :noweb-ref from the exporter, but without having to disable org-babel processing completely? Any other ideas for achieving what I want?

Thanks for any ideas,
--Diego


reply via email to

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