On 02/10/2022 11:59, Ihor Radchenko wrote:
Max Nikulin writes:
This can help with escaping syntax and spaces in verbatim.
It should be enough to create nested "code" or "verbatim" inline objects
with some attribute like :class file, :class var, :class dfn, etc.
Export backend may interpret this attribute to create proper texinfo
commands or more precisely choose HTML element.
I do recall you mentioned this idea in one of the earlier threads.
https://orgmode.org/list/sokqa3$e8s$1...@ciao.gmane.io
Max Nikulin (2021-12-06)
Subject: Raw Org AST snippets for "impossible" markup
It was using links, not source blocks. Typing AST directly is a kind of
last resort. Now I am writing about some higher level markup with a
parser that allows nested element and uses just a few special characters
to denote commands. It is a kind of trade-off between brevity of
lightweight markup and flexibility of more verbose language with ability
to more precisely express intentions.
I am not sure if I understand the details of what you are referring to.
Can you please illustrate how to use the described AST markup for the
following Texinfo snippet:
By convention, the dynamic library for @var{language} is
@code{libtree-@{sitter@}-@var{"language"}.@var{ext}}, where @var{ext} is
the
system-specific extension for dynamic libraries.
If you are asking how to represent such construct without introducing
custom elements then (it may be e.g. :type, not :class) parsed AST
should be like
(code nil ("libtree-{sitter}-"
(code (:class var) "\"language\"")
"."
(code (:class var) "ext")))
If there was some syntax for object attributes then simple cases would
be like
[[attr:(:class var)]]~language~
I have no idea concerning particular markup that can be used inside
source blocks. It might be LaTeX-like commands as discussed in the
sibling subthread or HTML (XML) based syntax that is more verbose than
TeX-like notation.
By convention, the dynamic library
for src_alt{\code[class=var]{language}} is
src_alt{\code{libtree-\{sitter\}-\code[class=var]{"language"}.\code[class=var]{ext}}},
where src_alt{\code[class=var]{ext}} is the
system-specific extension for dynamic libraries.
or
By convention, the dynamic library for
src_alt{<code class="var">language</code>} is
src_alt{<code>libtree-{sitter}-<code
class="var">"language"</code>.<code class="var">ext</code></code>},
where src_alt{<code class="var">ext</code>} is the
system-specific extension for dynamic libraries.
Hypothetical "alt" babel language has default :results ast :export
results header arguments to inject AST bypassing Org markup stage.