On 09/21/2016 04:49 AM, Adam Porter wrote:
> "David A. Gershman" <dagersh...@dagertech.net> writes:
>
>> Given the following line:
>>
>> * Date: src_perl[:results output :exports none]{print 2016;}
>>
>> The result '2016' is surrounded by '=' so that HTML export results in
>> <code></code> tags surrounding
>> the '2016'. 
>>
>> According to the manual section 14.5, 'org-babel-inline-result-wrap'
>> defines how the results are wrapped. Executing a (print
>> org-babel-inline-result-wrap), I get:
>>
>> {blank line}
>> =%s=
>> =%s=
>>
>> so I attempted the following:
>>
>> * Date: src_emacs-lisp[:exports none]{(setq
>> org-babel-inline-result-wrap "")} src_perl[:results output :exports
>> none]{print 2016;} src_emacs-lisp[:exports none]{(setq
>> org-babel-inline-result-wrap "=%s=")}
>>
>> in the hopes of temporarily disabling the '=' wrapping. Sadly no luck.
>>
>> I don't want to globally, or even for the whole buffer turn off the
>> '=%s='...just on a case-by-case basis.
> Hi David,
>
> I haven't done anything quite like this in Org before, but I think maybe
> Org macros would do what you need:
>
> http://orgmode.org/manual/Macro-replacement.html
>
> According to that, "Macro expansion takes place during the very
> beginning of the export process."  So it should be easy to write a macro
> that evaluates to a date in the format you need, and it should take
> effect when you export it to HTML.  At least, that's what it sounds like
> to me.  Please let me know what you find out.  :)
>
That's actually how I'm doing it, but I'm not fully up on how macros
work short of just being text replacements.  Currently, at the top of my
file, I have:

#+MACRO: gendate src_perl[:results output]{print ($1*5);}
# Where 'print ($1*5);' will later be replaced with a perl function that
takes the first day of class and an integer
#     ex:  /print find_date( '20160926', 6 );/ # 6 = Sixth lecture day,
output: "6, Oct 12, 2016" assuming MW class.

and in the org file, I can have headlines:

* Day {{{gendate(6)}}}
...
* Day {{{gendate(10)}}}

and so on.  During export, the result desired is:

   /Day 6, Oct 12, 2016/
    {etc.}

FWIW, Eric had the solution:

    #+MACRO: gendate src_perl[:results output _/*raw*/_]{print ($1*5);}

Thank everyone!

--dag

P.S. I should start a blog with all I learn on this.  /Someone/ could
benefit from my struggles. :)


Reply via email to