diff options
Diffstat (limited to 'filters/code.lua')
-rw-r--r-- | filters/code.lua | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/filters/code.lua b/filters/code.lua new file mode 100644 index 0000000..2d6e5a5 --- /dev/null +++ b/filters/code.lua | |||
@@ -0,0 +1,15 @@ | |||
1 | local common = require 'filters.lib.common' | ||
2 | |||
3 | function CodeBlock(el) | ||
4 | if el.classes[1] == "plain" then | ||
5 | el = pandoc.Div({ el }, { class = 's-code' }) | ||
6 | elseif el.classes[1] then | ||
7 | local formatted = pandoc.pipe('pygmentize', { | ||
8 | '-l', el.classes[1], '-f', 'html', '-O', 'cssclass=s-code s-code--highlight', | ||
9 | }, el.text) | ||
10 | |||
11 | if formatted then el = pandoc.RawBlock('html', formatted) end | ||
12 | end | ||
13 | |||
14 | return common.wide(el) | ||
15 | end | ||