X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=tools.sh;h=2a851ab0726648818a1335872656a64bdadc6a4d;hb=fb2b12ba32dc26c47e6620f2155c6d63e7b592a6;hp=c88cc55c12bfdeaedf482d4dddcfed51941e7281;hpb=e80c289e4e82f70c9e7426c6c1d3c71c8a42046e;p=shellwiki diff --git a/tools.sh b/tools.sh index c88cc55..2a851ab 100644 --- a/tools.sh +++ b/tools.sh @@ -58,8 +58,7 @@ page_glob(){ | while read -r page; do case $page in \#*|*/\#*) continue;; - /*) pagedir="$(PATH "$page")";; - *) pagedir="$(PATH "$PATH_INFO/$page")";; + *) pagedir="$(page_abs "$page")";; esac [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ] \ && printf '%s\n' "$page" @@ -87,8 +86,7 @@ page_children(){ | while read -r page; do case $page in \#*|*/\#*) continue;; - /*) pagedir="$(PATH "$page")";; - *) pagedir="$(PATH "$PATH_INFO/$page")";; + *) pagedir="$(page_abs "$page")";; esac if [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ]; then printf %s\\n "$page" @@ -96,3 +94,10 @@ page_children(){ fi done } + +page_abs(){ + case $1 in + /*) PATH "${1%/}/";; + *) PATH "${PATH_INFO%/*}/${1%/}/";; + esac +}