On 2022-07-12 14:11, Thangalin via ntg-context wrote:
Thank you for the suggestion Hraban.

The source comes from Markdown, which is converted to XML, then typeset using ConTeXt. There's no Markdown-specific mechanism to relate images to a particular external figure definition, unfortunately. All images use the same syntax and are treated the same way. The only part that differs is the file name extension (and header within the file).

One possibility would be something like:
\setupexternalfigure[
    width=1em,
    height=1em,
    order={svg,pdf,png,jpg},
    location={local,default,global},
]

\defineexternalfigure[png][
    width=\textwidth,
    height=\textheight,
]

\unprotect

\let\old_externalfigure=\externalfigure

\tolerant\def\externalfigure[#1]#,[#2]#,[#3]{%
    \doifelseinstring{.png}{#1}{%
        \old_externalfigure[#1][png][#2]%
    }{%
        \doifelsefileexists{#1.png}{%
            \old_externalfigure[#1.png][png][#2]%
        }{%
            \old_externalfigure[#1][#2][#3]%
        }%
    }%
}
\protect

I was wondering if there was a simpler or a solution that's more the ConTeXt-way?

Thanks again!
 

Assuming that Pandoc markdown is being used, you should be able to set class attributes on each image. You can then associate external figure definitions with specific classes, and process each individually. (Pandoc user guide, link_attributes)

--
Rik