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