From f2839f8bf1bc2fcce725715e35551670a5d71e45 Mon Sep 17 00:00:00 2001 From: Jan Ulrich Hasecke <jan.ulrich@hasecke.com> Date: Thu, 30 Jun 2022 15:51:58 +0200 Subject: [PATCH] Lua-Skript --- source/project.lua | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diff --git a/source/project.lua b/source/project.lua new file mode 100644 index 0000000..c60350e --- /dev/null +++ b/source/project.lua @@ -0,0 +1,38 @@ +-- Dieses Skript iteriert durch die übergebenen Markdown-Dateien +-- und verändert die Gliederungstiefe der Überschrift +-- anhand der Ordnertiefe. +-- Es wird als Reader aufgerufen mit der --from/-f Option: +-- pandoc -f project.lua +-- +-- Danke an Albert Krewinkel aus der pandoc Mailingliste + +local format = 'markdown+smart' + +function Reader (sources, opts) + local doc = pandoc.Pandoc{} + for _, source in ipairs(sources) do + local path_components = #pandoc.path.split(source.name) + -- last path component is the filename + local depth = path_components - 1 + doc = doc .. pandoc.read(source, format, opts):walk { + Header = function (h) + h.level = h.level + depth + return h + end + } + end + return doc +end + +if PANDOC_VERSION <= {2, 18} then + local mt = debug.getmetatable(pandoc.Pandoc{}) + mt.__concat = function (a, b) + local result = pandoc.Pandoc(a.blocks, a.meta) + result.blocks:extend(b.blocks) + for k, v in ipairs(b.meta) do + result.meta[k] = v + end + return result + end +end + -- Gitblit v1.9.3