X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=md_macros.awk;fp=md_macros.awk;h=a1e6450f48a8136dc53ad17a9cbe5c1443ea6089;hb=034bc176a19e32f920b422604762f5ab6fd21bc7;hp=0000000000000000000000000000000000000000;hpb=8cb3661e6c2f480f00ce0e45708b1b5be099eaaf;p=shellwiki 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"; } +}