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.


Reply via email to