#!/bin/sh
+[ "$include_tools" ] && return 0
+include_tools="$0"
+
if [ "$(which awk)" ]; then
md() { awk -f "$_EXEC/md_macros.awk" -f "$_EXEC/cgilite/markdown.awk"; }
elif [ "$(which busybox)" ]; then
| 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"
case $page in
/*)
- for glob in "$_DATA/pages/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages"}"; done
- for glob in "$_EXEC/pages/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages"}"; done
+ for glob in "$_DATA/pages/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages/"}"; done
+ for glob in "$_EXEC/pages/${page}"*/; do printf '%s\n' "${glob#"$_EXEC/pages/"}"; done
;;
*)
for glob in "$_DATA/pages/$PATH_INFO/${page}"*/; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
| 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"
fi
done
}
+
+page_abs(){
+ case $1 in
+ /*) PATH "${1%/}/";;
+ *) PATH "${PATH_INFO%/*}/${1%/}/";;
+ esac
+}