From: paul Date: Sun, 3 Jun 2018 13:09:09 +0000 (+0000) Subject: stub support for multiline comments (e.g. css/js embedding) X-Git-Url: https://git.plutz.net/?a=commitdiff_plain;h=3a191154e3277ce6aa942348ad84be033269bbc5;p=shcgi stub support for multiline comments (e.g. css/js embedding) svn path=/trunk/; revision=69 --- diff --git a/html-sh.sed b/html-sh.sed index 2d96275..4af3933 100755 --- a/html-sh.sed +++ b/html-sh.sed @@ -1,5 +1,20 @@ #!/bin/sed -nrf +:CommentHandle +x; /^<\/!-->/{ + x; /--]/{ + H; s;^(.*)--].*$;\1-->;p; + g; s;^.*--]([^\n]*)$;\1; + x; s;^\n(.*)\n[^\n]*$;\1;; x; + bCommentEnd + } + p; b; +} +x; +:CommentEnd + +:shortcuts +s;\[hidden[ \t]+"([^"]*)"[ \t]+"([^"]*)";[input type="hidden" name="\1" value="\2";g; s;\[checkbox[ \t]+"([^"]*)"[ \t]+"([^"]*)";[input type="checkbox" name="\1" value="\2";g; s;\[radio[ \t]+"([^"]*)"[ \t]+"([^"]*)";[input type="radio" name="\1" value="\2";g; s;\[submit[ \t]+"([^"]*)"[ \t]+"([^"]*)";[button type="submit" name="\1" value="\2";g; @@ -7,6 +22,7 @@ s;\[a[ \t]+"([^"]*)";[a href="\1";g; s;\[img[ \t]+"([^"]*)"[ \t]+"([^"]*)";[img src="\1" alt="\2";g; s;\[!([^]\[]*)\];;g; +s;\[!--([^]\[]*)--\];;g; :tags s;\[([^]\[< \t]+)([^]\[]*)\];<\1>\2;g; @@ -24,14 +40,16 @@ t tagopen; G; h; s;^[^\n]*\n+;;; x; s;\n.*$;;; :attribs -s;class="([^>]+)>[ \t]+\.([^ \t]+);class="\2 \1>;g; t attribs; -s;>[ \t]+\.([^ \t]+); class="\1">;g; -s;>[ \t]+#([^ \t]+); id="\1">;g; -s;>[ \t]+([^ \t=<]+=("[^"]*"|'[^']*'|[^ \t]*)); \1>;g; +s;class="([^>]+)>[ \t]+\.([^< \t]+);class="\2 \1>;g; t attribs; +s;>[ \t]+\.([^< \t]+); class="\1">;g; +s;>[ \t]+#([^< \t]+); id="\1">;g; +s;>[ \t]+([^ \t=<]+=("[^"]*"|'[^']*'|[^< \t]*)); \1>;g; s;(]+)>[ \t]+checked;\1 checked="checked">;g; t attribs; -s;(<[^/][^>]*>) ;\1;g; +s;(<[^/][^>]*>)[ \t]*;\1;g; s;(<[^/][^>]*)>[ \t]*]+>;\1/>;g; +s;;