#!/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;;
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
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;(<h|</h)5( |>);\16\2;g;
+ s;(<h|</h)4( |>);\15\2;g;
+ s;(<h|</h)3( |>);\14\2;g;
+ s;(<h|</h)2( |>);\13\2;g;
+ s;(<h|</h)1( |>);\12\2;g;
+ ';;
+ 2) sed -E 's;(<h|</h)5( |>);\16\2;g;
+ s;(<h|</h)4( |>);\16\2;g;
+ s;(<h|</h)3( |>);\15\2;g;
+ s;(<h|</h)2( |>);\14\2;g;
+ s;(<h|</h)1( |>);\13\2;g;
+ ';;
+ 3) sed -E 's;(<h|</h)5( |>);\16\2;g;
+ s;(<h|</h)4( |>);\16\2;g;
+ s;(<h|</h)3( |>);\16\2;g;
+ s;(<h|</h)2( |>);\15\2;g;
+ s;(<h|</h)1( |>);\14\2;g;
+ ';;
+ 4) sed -E 's;(<h|</h)5( |>);\16\2;g;
+ s;(<h|</h)4( |>);\16\2;g;
+ s;(<h|</h)3( |>);\16\2;g;
+ s;(<h|</h)2( |>);\16\2;g;
+ s;(<h|</h)1( |>);\15\2;g;
+ ';;
+ 5|[6789])
+ sed -E 's;(<h|</h)5( |>);\16\2;g;
+ s;(<h|</h)4( |>);\16\2;g;
+ s;(<h|</h)3( |>);\16\2;g;
+ s;(<h|</h)2( |>);\16\2;g;
+ s;(<h|</h)1( |>);\16\2;g;
+ ';;
+ *) cat;;
+ esac
printf '</article></div>'
done