X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=macros%2Fpagelist;h=08764aabe4d91c4924557557c609f5037d9d489d;hb=64b39909f4a3f4d67269718c8f5e8e4b7ea092b3;hp=54d4a693f2f0d8d2d0fc76bb40b3bbe3b50d6077;hpb=c557bbf8988e8e77e5691926fbcccc387cc4ce24;p=shellwiki diff --git a/macros/pagelist b/macros/pagelist index 54d4a69..08764aa 100755 --- a/macros/pagelist +++ b/macros/pagelist @@ -1,23 +1,74 @@ #!/bin/sh +# Copyright 2022 - 2023 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" -dir="${1:-./}" -depth="${2:-1}" +tags='' dir='' depth='' glob_system_pages=false +label='' labeltype='' altlabel='' cnt=0 + +set -- "$@" -- +while [ $# -gt 0 ]; do case $1 in + --system) glob_system_pages=true; shift 1;; + --depth) depth="$2" shift 2;; + \#*) tags="${tags}${tags:+ }${1###}"; shift 1;; + --h1|--h2|--h3|--h4|--h5|--h6|--label) + labeltype="${1#--}" label="$2"; shift 2;; + --alt-label) + altlabel="$2"; shift 2;; + --) shift 1; break;; + *) if [ ! "$dir" ]; then + dir="$1" + set -- "$@" "$1"; shift 1; + elif [ ! "$depth" ]; then + depth="$1"; shift 1; + else + set -- "$@" "$1"; shift 1; + fi;; +esac; done + +[ "$*" ] || set -- "*" +[ "$depth" -ge 0 -o "$depth" -le 0 ] 2>&- || depth=0 -printf '\n' + elif [ "$altlabel" ]; then + printf '' "$(HTML "$altlabel")" + fi +}