Initial
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
-- insprired from https://github.com/pandoc/lua-filters/blob/5686d96/diagram-generator/diagram-generator.lua
|
||||
|
||||
local dotPath = os.getenv("DOT") or "dot"
|
||||
|
||||
local filetype = "svg"
|
||||
local mimetype = "image/svg+xml"
|
||||
|
||||
local function graphviz(code, filetype)
|
||||
return pandoc.pipe(dotPath, {"-T" .. filetype}, code)
|
||||
end
|
||||
|
||||
function CodeBlock(block)
|
||||
local converters = {
|
||||
graphviz = graphviz,
|
||||
}
|
||||
|
||||
local img_converter = converters[block.classes[1]]
|
||||
if not img_converter then
|
||||
return nil
|
||||
end
|
||||
|
||||
local success, img = pcall(img_converter, block.text, filetype)
|
||||
|
||||
if not success then
|
||||
io.stderr:write(tostring(img))
|
||||
io.stderr:write('\n')
|
||||
error 'Image conversion failed. Aborting.'
|
||||
end
|
||||
|
||||
return pandoc.RawBlock('html', img)
|
||||
end
|
||||
|
||||
return {
|
||||
{CodeBlock = CodeBlock},
|
||||
}
|
||||
Reference in New Issue
Block a user