Dear Bastien, Yes, in python I could also do a regex match on string elements, but you can imagine this is a bit less ideal than creating a new AST element altogether. Having an AST element would reduce the complexity of my code on the filter side. I would only have to add an appropriately named function in Lua, rather than have multiple if string.match then statements inside the Str object for every new syntax I’d like to add. I’m trying to see how difficult/feasible that would be… Some extensions already add syntax elements, consider fenced_divs, how do those extensions do that? Regards, Amine On Thu, 14 Jul 2022 at 00:34, Bastien DUMONT wrote: > Is the content of the \gls macro always a one-word string (without > spaces)? If so, using the markup in your sample, you will end up with Str > objects that you can handle like this (in Lua, I don't speak Python but it > should not be difficult to translate): > > ``` > function Str(s) > if string.match(s.text, '^gls:') then > -- code to handle the string > end > return s > end > ``` > > Le Wednesday 13 July 2022 à 11:05:33PM, A A a écrit : > > Dear all, > > > > I have a use case where I would like to be able to add my own element to > the > > pandoc AST such that I can use it in a panflute filter. This would be an > inline > > element emulating LaTeX’s \gls{term} command from the glossaries.sty > package. > > > > I envision the markdown to look something like this: > > > > mentioning a gls:term from the glossary. > > > > or something like this: > > > > mentioning a gls(term) from the glossary > > > > So the syntax would be very similar to LaTeX, but a bit more lightweight. > > > > Is there a way to do this in pandoc? Inheriting from Block or Inline and > > setting up custom syntax such that it can be processed by a Lua or Python > > filter? > > > > Thanks for your consideration. > > > > Regards, > > > > Amine > > > > -- > > You received this message because you are subscribed to the Google Groups > > "pandoc-discuss" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email > > to [1]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > > To view this discussion on the web visit [2] > https://groups.google.com/d/msgid/ > > pandoc-discuss/ > > CAMwawgNgACJDXLyFAcx26iy4-71yOUD%2BHccx67%2BRgJB132D0_A%40mail.gmail.com > . > > > > References: > > > > [1] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > > [2] > https://groups.google.com/d/msgid/pandoc-discuss/CAMwawgNgACJDXLyFAcx26iy4-71yOUD%2BHccx67%2BRgJB132D0_A%40mail.gmail.com?utm_medium=email&utm_source=footer > > -- > You received this message because you are subscribed to the Google Groups > "pandoc-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To view this discussion on the web visit > https://groups.google.com/d/msgid/pandoc-discuss/Ys9IXXrcD4Nwmu6q%40localhost > . > -- You received this message because you are subscribed to the Google Groups "pandoc-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAMwawgNLuqw-NM_RYCHurBdg0EH20sjeAiYGOepmbgQLW9MD_A%40mail.gmail.com.