6 if [ $size -gt $((1024 * 1024 * 1024)) ]; then
7 size=$((size / 1024 / 1024 / 1024 * 10 + size / 1024 / 1024 % 1024 / 100))
8 printf "%i.%i GB" "$((size / 10))" "$((size % 10))"
10 elif [ $size -gt $((1024 * 1024)) ]; then
11 size=$((size / 1024 / 1024 * 10 + size / 1024 % 1024 / 100))
12 printf "%i.%i MB" "$((size / 10))" "$((size % 10))"
14 elif [ $size -gt $((1024)) ]; then
15 size=$((size / 1024 * 10 + size % 1024 / 100))
16 printf "%i.%i KB" "$((size / 10))" "$((size % 10))"
24 local pattern="$1" IFS=''
25 local glob page pagedir
29 for glob in "$_DATA/pages"$pattern; do printf '%s\n' "${glob#"$_DATA/pages"}"; done
30 for glob in "$_EXEC/pages"$pattern; do printf '%s\n' "${glob#"$_EXEC/pages"}"; done
33 for glob in "$_DATA/pages/$PATH_INFO"/$pattern; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
34 for glob in "$_EXEC/pages/$PATH_INFO"/$pattern; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done
38 | while read -r page; do
41 /*) pagedir="$(PATH "$page")";;
42 *) pagedir="$(PATH "$PATH_INFO/$page")";;
44 [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ] \
45 && printf '%s\n' "$page"
50 local page="${1:-${PATH_INFO}}" depth="${2:-1}"
51 local glob pagedir IFS=''
54 [ "$depth" -eq 0 ] && return 0
58 for glob in "$_DATA/pages/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages"}"; done
59 for glob in "$_EXEC/pages/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages"}"; done
62 for glob in "$_DATA/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
63 for glob in "$_EXEC/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done
67 | while read -r page; do
70 /*) pagedir="$(PATH "$page")";;
71 *) pagedir="$(PATH "$PATH_INFO/$page")";;
73 if [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ]; then
75 page_children "$page" "$((depth - 1))"