Hello, I tried similar thing also by filters but finally chose two-pass processing cooperating with python-docx package: The 1st pass converts from your source to docx by pandoc, using a custom template that contains the "Source Code Boxed" style. The standard "Source Code" style is applied for CodeBlock at this moment. The 2nd pass finds paragraphs that "Source Code" paragraph style is applied and replace by "Source Code Boxed" style. See also: https://github.com/K4zuki/docx-core-property-writer/blob/78688b7aae93244511cafb15f9213c4cb294b65b/docx_coreprop_writer/__init__.py#L362 Hope this helps, K4zuki / Kazuki 2020年5月16日土曜日 7時49分16秒 UTC+9 Vittorio Romeo: > > Hello, I am trying to write a filter to find all code blocks and wrap them > into a custom `.docx` style. This is what I tried: > > if type(elem) == pf.CodeBlock: > return pf.Div(elem, attributes={'custom-style': 'Source Code > Boxed'}) > > However, that doesn't work - it seems that the syntax highlighting styles > override my desired `'Source Code Boxed'` style. I found a workaround, but > it is ugly, and loses all the syntax highlighting: > > if type(elem) == pf.CodeBlock: > elemStr = pf.stringify(elem) > lines = [pf.LineItem(pf.Str(x)) for x in elemStr.splitlines()] > return pf.Div(pf.LineBlock(*lines), > attributes={ 'custom-style': 'Source Code Boxed'}) > > The above works (it surrounds my code block in a box in my final `.docx` > output), but all syntax highlighting is lost. > > **Is there a way to achieve my desired result?** I would the code being > surrounded in a box (thanks to my `'Source Code Boxed'` style), but still > retain its syntax highlighting. > > I have the same problem with TableCell, by the way. > -- 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/5eb81ba3-1b07-4207-8b73-8cb95ded3167%40googlegroups.com.