[Top][All Lists]

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

Re: [O] Does org export have something like Lisp quasiquote and unquote?

From: Eric Schulte
Subject: Re: [O] Does org export have something like Lisp quasiquote and unquote?
Date: Thu, 20 Feb 2014 08:36:53 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Oleh <address@hidden> writes:

>> The following will do what you want.
>> set the value
>> #+begin_src lisp :results silent
>> (defvar foo '(defun square (x)  (* x x)))
>> #+end_src
>> #+begin_src lisp :results output pp code
>> foo
>> #+end_src
>> #+BEGIN_SRC lisp
>> (DEFUN SQUARE (X) (* X X))
>> #+END_SRC
>> Best,
>> --
>> Eric Schulte
>> https://cs.unm.edu/~eschulte
>> PGP: 0x614CA05D
> Thanks, Eric,
> but this isn't what I had in mind.  I want the org-mode file to remain
> unchanged while behaving as if it was changed, something like C
> macros: C compiler is not aware of macros and I'm not aware of the
> expanded code, but we get along nicely anyway.

Think of code blocks as macros with optional interactive expansion.  If
you don't execute the code block you need not ever see the results,
however with an additional ":exports results" header argument the code
block will be executed and replaced with it's results on export.

Take a look at the (info "(org) Working With Source Code") portion of
the Org-mode manual.

Hope this helps,

> First use-case is that I'm writing documentation for a library of
> functions, so some of them are mentioned a few times. I'd like to
> refer to them not by name, which can be subjected to change but by a
> file local variable.  For instance, I've got a link in a table
> referring to a heading. They both have the same name and I'd like to
> keep them consistent, but I don't want to do it manually.
> Second use-case is that I'm generating a HTML block with
> `htmlize-buffer' that I want to include in the document. I'd prefer
> not to have hundreds of lines of HTML that correspond to 3 lines of
> code that they're supposed to represent. I'd rather generate this HTML
> via this macro mechanism that I hope exists in some form, maybe in
> conjunction with a makefile-like mechanism.
> Here's the org file that I'm working on:
> https://raw.github.com/abo-abo/lispy/gh-pages/index.org.
> As you see a lot of redundancy there and also several huge ugly HTML blocks.
> Btw, is there a way to #include HTML blocks?
> Here's the export result: http://abo-abo.github.io/lispy/.
> regards,
> Oleh

Eric Schulte
PGP: 0x614CA05D

reply via email to

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