Thanks, Rik.

Not using Pandoc. I was using Pandoc up until 2020:

https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdown-part-1/

I've since authored KeenWrite, which uses flexmark-java to generate XHTML documents from Markdown. The only additions I've made to the library is to add support for Pandoc's annotation syntax (:::).

That said, I'm also a firm believer in not duplicating information. The information (file name extension) is already available in the documents, so adding a classification on top of the extension feels redundant.

Thanks for the suggestion!

On Tue, Jul 12, 2022 at 12:18 PM Rik Kabel via ntg-context <ntg-context@ntg.nl> wrote:


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


___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : https://contextgarden.net
___________________________________________________________________________________