]> git.plutz.net Git - shellwiki/blob - md_macros.awk
macro processor plugin for markdown awk
[shellwiki] / md_macros.awk
1 #!/bin/awk -f
2 #!/opt/busybox/awk -f
3
4 function macro(call, LOCAL, line, files, n, exec) {
5   "cd " ENVIRON["MD_MACROS"] "; printf '%s/' *" |getline line;
6   split(line, files, "/");
7   for (n in files) { files[files[n]] = ""; delete files[n]; }
8   delete files[""];
9
10   split(call, exec);
11
12   if (exec[1] in files) {
13     RS=""; ORS=""; line="";
14     # TODO: proper shell-exec function with argument array
15     "printf '%s' " line " | " ENVIRON["MD_MACROS"] "/" call | getline line;
16     return line;
17   } else {
18     return HTML("<<" call ">>");
19   }
20 }
21
22 BEGIN {
23   if (ENVIRON["MD_MACROS"]) { AllowMacros = "true"; }
24 }