bavbavhaus.net/pandoc/collect_links.lua

21 lines
588 B
Lua

-- local l = require("pandoc.logging")
local read = pandoc.read
assert(#arg == 1, "\n" ..
"[ERROR] usage: pandoc lua collect_links.lua <file>...")
local f = assert(io.open(arg[1]), "\n" ..
"[ERROR] could not open " .. arg[1] .. " for reading.")
local data = f:read("a")
f:close()
local visited = {}
read(data):walk({ Link = function (link)
if not link.target:find(".%.md$") then return end
local f = io.open(link.target)
if f == nil then return else f:close() end
if visited[link.target] then return end
visited[link.target] = true
io.write(link.target .. "\n")
end })