From: Matt Price <moptop99@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: including external file in src block execution; ATTR_HTML on src blocks
Date: Mon, 12 Dec 2016 15:53:04 -0500 [thread overview]
Message-ID: <CAN_Dec-tEDYtDXVcLCKd=+KOq-R+yPK5p2M3vW4jnwvGGSp1Hg@mail.gmail.com> (raw)
In-Reply-To: <alpine.OSX.2.20.1612120848240.771@charles-berrys-macbook.local>
[-- Attachment #1: Type: text/plain, Size: 3221 bytes --]
On Mon, Dec 12, 2016 at 12:16 PM, Charles C. Berry <ccberry@ucsd.edu> wrote:
> On Mon, 12 Dec 2016, Matt Price wrote:
>
>
> [snip]
>
>
>> My questions are:
>> 1. can I pass this html attribute to the <pre><code> block somehow?
>>
>
> Yes.
>
> ATTR_HTML doesn't seem to work. Is this a bug? If so, should I try to fix
>> it?
>>
>
> No and no.
>
> Did you try
>
> : (plist-get (cadr src-block) :attr_html)
>
> in `org-html-src-block' ?
>
>
ah, ok. Now I will reveal some of the depths of my ignorance. Looks like
:attr_html is a plist (right?).
(a) what is the appropriate way to identify an attribute here. should I
write, e.g.:
#+ATTR_HTML: :data-external-libs "http://underscorejs.org/underscore-min.js"
:class "list of classes"
or:
#+ATTR_HTML: data-external-libs "http://underscorejs.org/underscore-min.js"
class "list of classes"
or
#+ATTR_HTML: "data-external-libs" "http://underscorejs.org/underscore-min.js"
"class" "list of classes"
And then, if I want to transform this into:
data-external-libs="http://underscorejs.org/underscore-min.js" class="list
of classes"
can I just do something like:
(let ((attributes (org-export-get-attribute :attr_html src-block))
(cl-loop for (key value) in attributes
(collect (concat key "=" "\"" value "\" " ))))
or do I need to transform the key into a string first?
I'm sorry to be writing such basic lisp questions; obviously I need to read
a really good lisp introduction, but I haven't found one yet.
>
> If not, is there a simple way to use header arguments to pass
>> information down?
>>
>
> The answer is still no. ;-)
>
> There are complicated ways. See
>
> https://github.com/chasberry/orgmode-accessories/blob/ravel-
> lang/ox-ravel.org
>
> for one such. But for what you are doing ATTR_HTML is easiest.
>
> I will take the easiest please!
>
> I am already rewriting the exporter's src-block export
>> function, so I can try to accomplish what I need to in that context.
>>
>
> BTW, the cleanest way to do this is by writing a derived exporter:
>
> : (org-export-define-derived-backend 'reveal 'revealplus ...
>
> In your case you only provide the src-block entry for the
> :translate-alist, :options-alist entries for any you redefine or introduce,
> and optionally a :menu-entry.
>
> Also, you'll probably want to add a hook to `org-export-before-parsing-hook'
> (see below).
>
>
> If you do this, then `#+ATTR_REVEALPLUS:' seems suitable.
>
right. Up till now I have been hoping to integrate these change sback into
ox-reveal, but now it's starting to feel a bit invasive. I may try this
route.
>
> 2. I'd like to be able to test my code directly in org (since I'm a lousy
>> coder and a clumsy typist). Can I tell org to load other files before
>> executing a src block?
>>
>
> Yes. Depending on what you want one of these:
>
> * Add this to `org-export-before-parsing-hook', perhaps in setting up a
> derived exporter.
>
> * Or perhaps by using a local variable `eval' see
>
> : (info "(emacs) Specifying File Variables")
>
> * Or by executing a src-block that loads those files.
>
I think this might be the best route, since I would probably want to load
such files on a block-by-block basis.
>
> HTH,
>
> Chuck
>
very much, I think!
[-- Attachment #2: Type: text/html, Size: 7154 bytes --]
next prev parent reply other threads:[~2016-12-12 20:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-12 14:12 including external file in src block execution; ATTR_HTML on src blocks Matt Price
2016-12-12 17:16 ` Charles C. Berry
2016-12-12 20:53 ` Matt Price [this message]
2016-12-13 3:52 ` Charles C. Berry
[not found] ` <CAN_Dec8=72-TvAGD82=tKLPUEO6qD4Mub4RV-hXUrVReHDqRyQ@mail.gmail.com>
2016-12-13 14:44 ` Fwd: " Matt Price
2016-12-14 4:08 ` Charles C. Berry
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAN_Dec-tEDYtDXVcLCKd=+KOq-R+yPK5p2M3vW4jnwvGGSp1Hg@mail.gmail.com' \
--to=moptop99@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).