bavbavhaus.net/pandoc/filters/insert_sitemap.lua

23 lines
607 B
Lua

-- local l = require("pandoc.logging")
local json = pandoc.json
local Link = pandoc.Link
SCRIPT_NAME = "insert_sitemap.lua"
os.setlocale("C")
return {
{ Meta = function (meta)
local sitemap_filepath = meta["sitemap-file"] or "sitemap.json"
local f = assert(io.open(sitemap_filepath), "\n" ..
"[ERROR] could not open " .. sitemap_filepath)
local sitemap = json.decode(f:read("a"))
f:close()
local sitemap_meta = pandoc.MetaList({})
sitemap:map(function (item)
sitemap_meta:insert(Link(item, item))
end)
meta["sitemap"] = sitemap_meta
return meta
end }
}