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 | ||
