-- local l = require("pandoc.logging") local read = pandoc.read assert(#arg == 1, "\n" .. "[ERROR] usage: pandoc lua collect_links.lua ...") 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 })