Hello, Aaron Ecay <aarone...@gmail.com> writes:
> 2013ko urtarrilak 23an, Nicolas Goaziou-ek idatzi zuen: >> You needn't. org-exp-blocks functionalities are supported by the new >> exporter out of the box. > > Can you say more about this? I looked for but did not find a > replacement to the org-export-blocks variable (an alist associating > block types with functions to export them). I found it very easy to > hook into the new exporter, but perhaps I missed something? No, you didn't miss anything. I was thinking about `org-special-blocks.el'. The exporter doesn't implement org-exp-blocks functionalities. Though, IIRC, org-exp-blocks was mostly deprecated when Babel was introduced. That's why old ditaa and dot "exp-blocks" were moved to src block languages. > For parsing, yes. But for export I want a way to say “I don’t care what > Org thinks the export of this block is. Give me the raw contents, and I > will tell you what the export should be.” > > This is how the ditaa special-block code used to work; I see that it has > now morphed into a babel language, which makes some kind of sense. I’m > not sure it does in general. > > My use case is glossed examples for linguistics: my special block > contains three lines, which are a sentence in a foreign language and a > translation. By inserting markup in a way which is easy to automate, > you can get LaTeX to align the words of one language with the words of > the other. I don’t want any org processing of the text of the examples: > it might contain backslashes, stars, etc., all of which should be passed > verbatim to LaTeX. This does not feel like source code, it cannot be > evaluated or tangled, I would not want these blocks to be included in > org-babel-next-src-block, etc. It is data. Source code is for the processing function. Anyway, just store your text in example blocks, and create a src block in any language to do the processing. Then you can call the processing function on all of your example blocks. I suggest to keep the example blocks in a non-exportable section. You can also remove all named example blocks before export, via a hook. Your call. #+begin_src org * Data :noexport: #+name: words #+BEGIN_EXAMPLE a b c #+END_EXAMPLE #+name: #+BEGIN_SRC emacs-lisp :var x=words (upcase x) #+END_SRC * Contents #+call: words(:var x=words) #+end_src Regards, -- Nicolas Goaziou