X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=tools.sh;h=2e98d674d764295b3e338fd3ca7a59c8c42ec0d9;hb=a88a2e833916c59ea6e99e9588543a58f02b9efe;hp=2a851ab0726648818a1335872656a64bdadc6a4d;hpb=f21fa47893736311b48ed014c611c589c6219d26;p=shellwiki diff --git a/tools.sh b/tools.sh index 2a851ab..2e98d67 100755 --- a/tools.sh +++ b/tools.sh @@ -1,5 +1,8 @@ #!/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 @@ -9,15 +12,26 @@ else fi mdfile(){ + # Check if page exists, if possible fall + # back to default page from installation local page="$(PATH "$1")" + # IMPORTANT: A Copy of this function exists + # in `handlers/10_translations.sh` + # Look into it now! + # Keep it synchronized, when changing anything + if [ -f "$_DATA/pages/$page/#page.md" ]; then printf %s\\n "$_DATA/pages/$page/#page.md" + return 0 elif [ -f "$_EXEC/pages/$page/#page.md" ]; then printf %s\\n "$_EXEC/pages/$page/#page.md" + return 0 else return 1 - fi + fi 2>&- + # ^^ suppress error messages produced + # by printf when stdout was closed } size_human(){ @@ -74,8 +88,8 @@ page_children(){ 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