cross-posting of https://stackoverflow.com/questions/67109880/is-it-posible-to-enable-extensions-on-pandoc-filters Why do you prefer to set this in the filter instead of on the writer? I don't think there's a way to do that... because the filter just outputs an AST again, and what you're trying to change is happening in the writer... On Thursday, April 15, 2021 at 4:20:32 PM UTC+2 Angel Joaniquet wrote: > The lua split function is this > > > ```lua > function split(str,pat) > local tbl = {} > str:gsub(pat, function(x) tbl[#tbl+1]=x end) > return tbl > end > ``` > > El jueves, 15 de abril de 2021 a las 16:08:23 UTC+2, Angel Joaniquet > escribió: > >> >> I'm trying to make a filter to transform some features of org-mode to >> GitLab-markdown (not supported by Pandoc out of the box), in particular, >> the math blocks. >> >> The filter should work when transforming to `markdown`, but instead of >> giving the markdown format for the math blocks (enclosed by `$$...$$`), it >> should write the blocks as >> >> ``` math >> a + b = c >> ``` >> >> The preces I have now is >> >> In org-mode, the math blocks are simply the latex code: >> >> ``` >> \begin{equation} >> a + b = c >> \end{equation} >> ``` >> >> this is parsed as a pandoc AST `RawBlock` with format `latex`. I then >> remove the first (`\begin{equation}`) an last line (`\end{equation}`), and >> construct a pandoc `CodeBlock` with atrributes `{"math"}`, so the >> `CodeBlock` object displays in AST as >> >> ``` >> CodeBlock ("",["math"],[]) "a + b = c\n" >> ``` >> >> and then I let Pandoc create the markdown document, and the written >> result is >> >> ``` {.math} >> a + b = c >> ``` >> >> >> >> **The question:** >> I want the bare `math`, not `{.math}` written, without the use of CLI >> options. >> >> >> I am aware that this can be done setting the Writer extension >> `fenced_code_attributes` to false (eg. `$pandoc -w >> markdown-fenced_code_attributes ...`), but I would much prefer this done >> inside the filter. >> >> Or is it possible to set the extensions inside the filter? >> >> >> Here is my atempted lua-filter: >> >> ``` lua >> function RawBlock(rb) >> if rb.format == "latex" then >> local text = rb.text >> split_text = split(text, "[^\n]*") >> if split_text[1] == '\\begin{equation}' and >> split_text[#split_text-1] == '\\end{equation}' then >> table.remove(split_text, #split_text-1) >> table.remove(split_text, 1) >> text = table.concat(split_text, "\n") >> local cb = pandoc.CodeBlock() >> cb.attr = {"",{"math"}} >> cb.text = text >> return cb >> end >> end >> end >> ``` >> >> >> Kind regards, >> >> Angel >> >> >> >> -- 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/c01112ea-3fd0-42c7-86ae-6e1806671b7bn%40googlegroups.com.