X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=tools.sh;h=e40e25f4be075bb97589fc6415e09c3c2dc5b025;hb=0e2b2e5a68f0e5a32bc4e7d869b475b744582643;hp=f0c153848bd29b8228970b36d0864e49abcc65d3;hpb=9228c5d601c0ffe2b334dd13af02c7be7fa57f79;p=shellwiki diff --git a/tools.sh b/tools.sh index f0c1538..e40e25f 100644 --- a/tools.sh +++ b/tools.sh @@ -47,13 +47,11 @@ page_glob(){ } page_children(){ - local page="${1%/}/" depth="${2:--1}" + local page="${1:-${PATH_INFO}}" depth="${2:-1}" local glob pagedir IFS='' - - debug "CHILDREN $page $depth" + page="${page%/}/" [ "$depth" -eq 0 ] && return 0 - printf %s\\n "$page" case $page in /*) @@ -65,7 +63,6 @@ page_children(){ for glob in "$_EXEC/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done ;; esac \ - | debug \ | sort -u \ | while read -r page; do case $page in @@ -73,7 +70,9 @@ page_children(){ /*) pagedir="$(PATH "$page")";; *) pagedir="$(PATH "$PATH_INFO/$page")";; esac - [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ] \ - && page_children "$page" "$((depth - 1))" + if [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ]; then + printf %s\\n "$page" + page_children "$page" "$((depth - 1))" + fi done }