diff options
author | Volpeon <git@volpeon.ink> | 2022-06-18 15:51:18 +0200 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2022-06-18 15:51:18 +0200 |
commit | a43ca52aa2d102c7499c7fd8478304a26ea2cd0a (patch) | |
tree | d44afb4720ffdb088a3c8f05f27befb446b195ae /filters/code.lua | |
parent | Improved exhibit (diff) | |
download | volpeon.ink-a43ca52aa2d102c7499c7fd8478304a26ea2cd0a.tar.gz volpeon.ink-a43ca52aa2d102c7499c7fd8478304a26ea2cd0a.tar.bz2 volpeon.ink-a43ca52aa2d102c7499c7fd8478304a26ea2cd0a.zip |
Improved Lua filters, improved exhibit pages
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 | ||