]> git.plutz.net Git - shellwiki/blob - macros/pagelist
omit inclusion of user functions (unnecessary since variables are now exported)
[shellwiki] / macros / pagelist
1 #!/bin/sh
2
3 . "$_EXEC/cgilite/cgilite.sh"
4 . "$_EXEC/acl.sh"
5 . "$_EXEC/tools.sh"
6
7 dir="${1:-./}"
8 depth="${2:-1}"
9
10 printf '<ul class="pagelist">\n'
11   page_glob "$dir" \
12   | while read -r glob; do
13     printf %s\\n "$glob"
14     page_children "$glob" "$((depth - 1))"
15   done \
16   | while read -r page; do
17     case $page in
18       /*) pagedir="$(PATH "$page")";;
19       *)  pagedir="$(PATH "$PATH_INFO/$page")";;
20     esac
21     [ -f "$_DATA/pages/${pagedir}/#page.md" -o \
22       -f "$_EXEC/pages/${pagedir}/#page.md" ] \
23     && acl_read "$pagedir" \
24     && printf '<li><a href="%s">%s</a></li>' "$(HTML "$page")" "$(HTML "$page")"
25   done
26 printf '</ul>\n'