From 034bc176a19e32f920b422604762f5ab6fd21bc7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20H=C3=A4nsch?= Date: Fri, 18 Feb 2022 16:24:56 +0100 Subject: [PATCH] macro processor plugin for markdown awk --- md_macros.awk | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 md_macros.awk diff --git a/md_macros.awk b/md_macros.awk new file mode 100755 index 0000000..a1e6450 --- /dev/null +++ b/md_macros.awk @@ -0,0 +1,24 @@ +#!/bin/awk -f +#!/opt/busybox/awk -f + +function macro(call, LOCAL, line, files, n, exec) { + "cd " ENVIRON["MD_MACROS"] "; printf '%s/' *" |getline line; + split(line, files, "/"); + for (n in files) { files[files[n]] = ""; delete files[n]; } + delete files[""]; + + split(call, exec); + + if (exec[1] in files) { + RS=""; ORS=""; line=""; + # TODO: proper shell-exec function with argument array + "printf '%s' " line " | " ENVIRON["MD_MACROS"] "/" call | getline line; + return line; + } else { + return HTML("<<" call ">>"); + } +} + +BEGIN { + if (ENVIRON["MD_MACROS"]) { AllowMacros = "true"; } +} -- 2.39.2