Hello,
KDr2 <killy.draw@gmail.com> writes:
> This is nice, but it brought a bug, `[N]' in HTML block is recognized as
> footnote, e.g.:
>
> #+BEGIN_HTML
> ONE[1]
> <script>
> console.log(v1[0]);
> </script>
> #+END_HTML
>
> There are two footnotes in the generated HTML. Would you fix this
> please?
Unfortunately, no, I cannot fix it.
The problem is even deeper. Indeed, my approach is fundamentally wrong:
it is impossible to postpone choosing between parsed or raw data at
export time. This information must be obtained at parsing time.
Yet, I think syntax should not depend on the libraries loaded. So the
initial problem still needs a solution.
Special blocks and export blocks are just too similar. We could make
them slightly different. One solution is to mark explicitly blocks meant
to insert raw code. E.g.,
#+BEGIN_SOMETHING :special t
...
#+END_SOMETHING
vs
#+BEGIN_SOMETHING
...
#+END_SOMETHING
In the first case contents would be parsed and the block treated as
a special block (i.e. depending on the back-end) whereas in the second
case, contents would be inserted as-is in the buffer, provided target
export back-ends accepts data from "SOMETHING" blocks (IOW "SOMETHING"
= "LATEX" if ox-latex is used).
This is clearly not backward-compatible. But it only modifies syntax for
special blocks, which, I guess, are much less used than their cousins,
export blocks. The ":special t" may be shorter, too.
Cc'ing Bastien for his opinion.
Regards,
--
Nicolas Goaziou