From 5ec7067038a6bb7320597d6d84f2bfa386783ba9 Mon Sep 17 00:00:00 2001 From: Christos Date: Wed, 1 Jan 2025 00:08:33 +0000 Subject: Renamed to avoid ambiguity --- mh | 122 --------------------------------------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 mh (limited to 'mh') diff --git a/mh b/mh deleted file mode 100644 index a961ca1..0000000 --- a/mh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/awk -f -function eschtml(t) { -gsub("<", "\\<", t); -gsub("%", "\\%", t); - return t; } -function oprint(t) { if(nr == 0) otext = otext t; else otext = otext t; } -function nextil(t) { - if(!match(t, /[`<\[*_\\]|(\!\[)/)) return t - t1 = substr(t, 1, RSTART - 1) - tag = substr(t, RSTART, RLENGTH) - t2 = substr(t, RSTART + RLENGTH) - if(ilcode && tag != "`") - return eschtml(t1 tag) nextil(t2); - if(tag == "`"){ - if(sub(/^`/, "", t2)){ - if(!match(t2, /``/)) - return t1 "”" nextil(t2); - ilcode2 = !ilcode2; - } - else if(ilcode2) - return t1 tag nextil(t2); - tag = "
";
-                if(ilcode){
-#                       t1 = eschtml(t1);
-                        tag = "
"; - } - ilcode = !ilcode; - return t1 tag nextil(t2); - } - if(tag == "\\"){ if(match(t2, /^[\\*_{}\[\]()#+\-\.!]/)){ tag = substr(t2, 1, 1) - t2 = substr(t2, 2); } - return t1 tag nextil(t2); } - if(tag == "<"){ - if(match(t2, /^[A-Za-z\/!][^>]*>/)){ - tag = tag substr(t2, RSTART, RLENGTH) - t2 = substr(t2, RLENGTH + 1) - return t1 tag nextil(t2); - } - return t1 "<" nextil(t2); - } - if(tag == "["){ - if(!match(t2, /(\[.*\])|(\(.*\))/)) return t1 tag nextil(t2); match(t2, /^[^\]]*(\[[^\]]*\][^\]]*)*/) - linktext = substr(t2, 1, RLENGTH) - t2 = substr(t2, RLENGTH + 2); if(match(t2, /^\(/)){ match(t2, /^[^\)]+(\([^\)]+\)[^\)]*)*/) - url = substr(t2, 2, RLENGTH - 1) - pt2 = substr(t2, RLENGTH + 2) - title = "" - if(match(url, /[ ]+\".*\"[ ]*$/)){ title = substr(url, RSTART, RLENGTH) - url = substr(url, 1, RSTART - 1) - match(title, /\".*\"/) - title = " title=\"" substr(title, RSTART + 1, RLENGTH - 2) "\""; } if(match(url, /^<.*>$/)) url = substr(url, 2, RLENGTH - 2) -# url = eschtml(url) - return t1 ""nextil(linktext)"" nextil(pt2); } - } - if(match(tag, /[*_]/)){ ntag = tag; if(sub("^" tag, "", t2)){ if(stag[ns] == tag && match(t2, "^" tag)) t2 = tag t2; else ntag = tag tag; } n = length(ntag) - tag = (n == 2) ? "b" : "i" - if(match(t1, / $/) && match(t2, /^ /)) return t1 tag nextil(t2) - if(stag[ns] == ntag){ tag = "/" tag; ns--; } else stag[++ns] = ntag - tag = "<" tag ">" - return t1 tag nextil(t2); } } -function inline(t){ ilcode = 0; ilcode2 = 0; ns = 0; return nextil(t); } -function printp(tag){ if(!match(text, /^[ ]*$/)){ text = inline(text);if(tag != "") oprint("<" tag ">" text ""); else oprint(text); } text = ""; } -# function printp(tag){if(match(text,/^[ ]*$/)){text="";return}text=inline(text);if(tag=="p"){oprint("<"tag">"text)}else{oprint("<"tag">"text"")};text=""} -# ELSE function printp(tag){if(!match(text,/^[ ]*$/)){text=inline(text);if(tag=="p"){oprint("<"tag">"text)}else{oprint("<"tag">"text"")}}text=""} -BEGIN{blank=0;hr=0;nl=0;nr=0;text="";par="p";} -{ - for(nnl = 0; nnl < nl; nnl++) - if((match(block[nnl + 1], /[ou]l/) && !sub(/^( | )/, "")) || \ - (block[nnl + 1] == "blockquote" && !sub(/^> ?/, ""))) - break; -} -nnl < nl && !blank && text && ! /^ ? ? ?([*+-]|([0-9]+\.)+)( +| )/ { nnl = nl; } -{ hr = 0; } -block[nl] ~ /[ou]l/ && /^$/ { - blank = 1; - next; -} -{ newli = 0; } -!hr && (nnl != nl || !text || block[nl] ~ /[ou]l/) && /^ ? ? ?[*+-]( +| )/ { - sub(/^ ? ? ?[*+-]( +| )/, ""); - nnl++; - nblock[nnl] = "ul"; - newli = 1; -} -newli { - if(blank && nnl == nl && !par) - par = "p"; - blank = 0; - printp(par); - if(nnl == nl && block[nl] == nblock[nl]) - oprint("
  • "); -} -blank && ! /^$/ { - if(match(block[nnl], /[ou]l/) && !par) - par = "p"; - printp(par); - par = "p"; - blank = 0; -} -nnl != nl || nblock[nl] != block[nl] { - printp(par); - b = (nnl > nl) ? nblock[nnl] : block[nl]; - par = (match(b, /[ou]l/)) ? "" : "p"; -} -nnl < nl || (nnl == nl && nblock[nl] != block[nl]) { - for(; nl > nnl || (nnl == nl && pblock[nl] != block[nl]); nl--){ - oprint(""); - } -} -nnl > nl { - for(; nl < nnl; nl++){ - block[nl + 1] = nblock[nl + 1]; - oprint("<" block[nl + 1] ">"); - if(match(block[nl + 1], /[ou]l/)) - oprint("
  • "); - } -} -/^#+/ && (!newli || par=="p" || /^##/) { for(n = 0; n < 6 && sub(/^# */, ""); n++) sub(/#$/, ""); par = "h" n; } -/^$/ { printp(par); par = "p"; next; } -{ text = (text ? text " " : "") $0; } -END{printp(par);printf(otext);printf("ENTER FOOTER HERE")} -# maybe treat par as you do #h1 so to avoid closing tag -- cgit v1.2.3