I am not sure this is quite what you are looking for. You could use a macro like this.
{{{r-stack(((src1 . fade-out) (src2 . fade-in) (src3 . fade-out)))}}}
* code :noexport:
#+macro: r-stack (eval (r-stack $1))
#+BEGIN_SRC emacs-lisp
(defun r-stack (src-alist)
"SRC-alist will be a string containing a list of (src . data-fragment)
src is a url or filename
data-fragment
Returns a string for export."
(let ((src (read src-alist)))
(format "#+BEGIN_EXPORT html
<div class=\"r-stack\">
%s
</div>
,#+END_EXPORT"
(string-join
(cl-loop for (src . data-fragment) in src
collect
(format " <img data-fragment=\"%s\" src=\"%s\"/>"
data-fragment src))
"\n"))))
(r-stack "((src1 . fade-out) (src2 . fade-in) (src3 . fade-out))")
#+END_SRC
#+RESULTS:
: #+BEGIN_EXPORT html
: <div class="r-stack">
: <img data-fragment="fade-out" src="src1"/>
: <img data-fragment="fade-in" src="src2"/>
: <img data-fragment="fade-out" src="src3"/>
: </div>
: #+END_EXPORTYou could also make a link do that.
John
-----------------------------------
Professor John Kitchin (he/him/his)
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803On Wed, Jan 19, 2022 at 9:42 AM Matt Price <moptop99@gmail.com> wrote:I am trying ot figure out if I can create a simplified syntax for a particular special block in a derived HTML exporter.I'm trying to produce HTML like this:<div class="r-stack> <img data-fragment="fade-out" src="...."/> <img data-fragment="fade-in" src="..."/> </div>The derived backend (org-re-reveal) already has an
#+ATTR_REVEAL that an make the data-fragment attributes, so it's not hard to produce
the desired outpu:
#+begin_r-stack
#+ATTR_REVEAL: :frag appear [[imglink1]]
#+ATTR_REVEAL: :frag appear [[imglink2]] #+end_r-stackHowever, I'd really like to add a less verbose syntax, like this:
#+begin_r-stack :frag (appear appear) [[imglink1]] [[imglink2]] #+end_r-stackMy question is: will the exporter preserve information from these header-like arguments, and is
there a mechanism I can use in a custom ~special-block-function~ to make use of htem?Thanks for your help as always!
Matt