X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=macros%2Finclude;h=f3005849cb2c9be5bdba8ceb57bca2e73031a5b0;hb=fe5a022bee36488bb1b4ad923bd4b77e70f9f054;hp=5254a2609c91623d2edae92bc14361fc71219407;hpb=3a2e8368acb337c5b96faff1e0aeed58c04b5a99;p=shellwiki diff --git a/macros/include b/macros/include index 5254a26..f300584 100755 --- a/macros/include +++ b/macros/include @@ -1,10 +1,24 @@ #!/bin/sh +# Copyright 2022 Paul Hänsch +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +# IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + . "$_EXEC/cgilite/cgilite.sh" . "$_EXEC/acl.sh" . "$_EXEC/tools.sh" -from='1'; to='$'; rev=''; items='$'; link='true' +from='1'; to='$'; rev=''; items='$'; hl=0; link='true' while [ $# -gt 0 ]; do case $1 in --from) from="$2"; shift 2;; @@ -15,6 +29,7 @@ while [ $# -gt 0 ]; do case $1 in items=*) items="${1#*=}"; shift 1;; --rev|--reverse) rev="-r"; shift 1;; --nolink) link=""; shift 1;; + --hl|-hl) hl=$2; shift 2;; *) page="$1"; shift 1;; esac; done @@ -58,6 +73,39 @@ page_glob "$page" \ s;(<[^>]+ )(href|src)="([^"]+://[^"]*|[mM][aA][iI][lL][tT][oO]:[^"]*)"([^>]*>);\1\2="/#safe/\3"\4;g s;(<[^>]+ )(href|src)="([^#/"][^"]*)"([^>]*>);\1\2="'"${refpfx}"'\3"\4;g s;(<[^>]+ )(href|src)="/#safe/([^"]*)"([^>]*>);\1\2="\3"\4;g - ' + ' | case $hl in + 1) sed -E 's;();\16\2;g; + s;();\15\2;g; + s;();\14\2;g; + s;();\13\2;g; + s;();\12\2;g; + ';; + 2) sed -E 's;();\16\2;g; + s;();\16\2;g; + s;();\15\2;g; + s;();\14\2;g; + s;();\13\2;g; + ';; + 3) sed -E 's;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + s;();\15\2;g; + s;();\14\2;g; + ';; + 4) sed -E 's;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + s;();\15\2;g; + ';; + 5|[6789]) + sed -E 's;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + s;();\16\2;g; + ';; + *) cat;; + esac printf '' done