X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=macros%2Fpagelist;h=ced89eb1efedc8bf92ab66cc9b93ac2a09b51857;hb=3601593ab76ccf5ea1360c6c588bd3326e5b956d;hp=08764aabe4d91c4924557557c609f5037d9d489d;hpb=08e02da11207d97b7c7d4db58619cdb0a59476e2;p=shellwiki diff --git a/macros/pagelist b/macros/pagelist index 08764aa..ced89eb 100755 --- a/macros/pagelist +++ b/macros/pagelist @@ -18,7 +18,7 @@ . "$_EXEC/acl.sh" . "$_EXEC/tools.sh" -tags='' dir='' depth='' glob_system_pages=false +tags='' ntags='' dir='' depth='' glob_system_pages=false label='' labeltype='' altlabel='' cnt=0 set -- "$@" -- @@ -26,6 +26,7 @@ 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;; + \!*) ntags="${ntags}${ntags:+ }${1##!}"; shift 1;; --h1|--h2|--h3|--h4|--h5|--h6|--label) labeltype="${1#--}" label="$2"; shift 2;; --alt-label) @@ -54,7 +55,8 @@ done \ if [ -f "$_DATA/pages/${pagedir}/#page.md" -o \ -f "$_EXEC/pages/${pagedir}/#page.md" ] \ && acl_read "$pagedir" \ - && has_tags "$pagedir" $tags + && has_tags "$pagedir" $tags \ + && ! has_tag "$pagedir" $ntags then [ "$cnt" -eq 0 -a "$label" ] \ && printf '<%s class="macro pagelist label">%s' \