3 [ "$include_tools" ] && return 0
6 if [ "$(which awk)" ]; then
7 md() { awk -f "$_EXEC/md_macros.awk" -f "$_EXEC/cgilite/markdown.awk"; }
8 elif [ "$(which busybox)" ]; then
9 md() { busybox awk -f "$_EXEC/md_macros.awk" -f "$_EXEC/cgilite/markdown.awk"; }
15 # Check if page exists, if possible fall
16 # back to default page from installation
17 local page="$(PATH "$1")"
19 if [ -f "$_DATA/pages/$page/#page.md" ]; then
20 printf %s\\n "$_DATA/pages/$page/#page.md"
22 elif [ -f "$_EXEC/pages/$page/#page.md" ]; then
23 printf %s\\n "$_EXEC/pages/$page/#page.md"
28 # ^^ suppress error messages produced
29 # by printf when stdout was closed
35 if [ $size -gt $((1024 * 1024 * 1024)) ]; then
36 size=$((size / 1024 / 1024 / 1024 * 10 + size / 1024 / 1024 % 1024 / 100))
37 printf "%i.%i GB" "$((size / 10))" "$((size % 10))"
39 elif [ $size -gt $((1024 * 1024)) ]; then
40 size=$((size / 1024 / 1024 * 10 + size / 1024 % 1024 / 100))
41 printf "%i.%i MB" "$((size / 10))" "$((size % 10))"
43 elif [ $size -gt $((1024)) ]; then
44 size=$((size / 1024 * 10 + size % 1024 / 100))
45 printf "%i.%i KB" "$((size / 10))" "$((size % 10))"
53 local pattern="${1%/}/" IFS=''
54 local glob page pagedir
58 for glob in "$_DATA/pages"$pattern; do printf '%s\n' "${glob#"$_DATA/pages"}"; done
59 for glob in "$_EXEC/pages"$pattern; do printf '%s\n' "${glob#"$_EXEC/pages"}"; done
62 for glob in "$_DATA/pages/$PATH_INFO"/$pattern; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
63 for glob in "$_EXEC/pages/$PATH_INFO"/$pattern; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done
67 | while read -r page; do
70 *) pagedir="$(page_abs "$page")";;
72 [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ] \
73 && printf '%s\n' "$page"
78 local page="${1:-${PATH_INFO}}" depth="${2:-1}"
79 local glob pagedir IFS=''
82 [ "$depth" -eq 0 ] && return 0
86 for glob in "$_DATA/pages/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages/"}"; done
87 for glob in "$_EXEC/pages/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages/"}"; done
90 for glob in "$_DATA/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
91 for glob in "$_EXEC/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done
95 | while read -r page; do
98 *) pagedir="$(page_abs "$page")";;
100 if [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ]; then
102 page_children "$page" "$((depth - 1))"
110 *) PATH "${PATH_INFO%/*}/${1%/}/";;