Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/src/resources/tools/ast-tracing/load_trace.lua
12926 views
1
function Meta(meta)
2
if meta["trace_1"] ~= nil then
3
trace_1 = meta["trace_1"]
4
end
5
if meta["trace_2"] ~= nil then
6
trace_2 = meta["trace_2"]
7
end
8
end
9
10
function Pandoc(doc)
11
local function set_trace(id, name)
12
local f = io.open(name, "r")
13
if f == nil then
14
io.stderr:write("Error: Could not open trace file: " .. name .. "\n")
15
16
else
17
local data = f:read("*all")
18
f:close()
19
doc.blocks:insert(pandoc.RawBlock("html", "<script type='base64-data' id='" .. id .. "_data'>" .. quarto.base64.encode(data) .. "</script>"))
20
doc.blocks:insert(pandoc.RawBlock("html", "<script type='base64-data' id='" .. id .. "_name'>" .. quarto.base64.encode(name) .. "</script>"))
21
end
22
end
23
if trace_1 ~= nil then
24
set_trace("trace_1", pandoc.utils.stringify(trace_1))
25
end
26
if trace_2 ~= nil then
27
set_trace("trace_2", pandoc.utils.stringify(trace_2))
28
end
29
return doc
30
end
31