-mdfile(){
- # Override mdfile Selection from tools.sh
- local page="$(PATH "$1")"
- page="${page%/}"
-
- # Additional part:
- # if PAGE Address is LANGUAGE Page, jump to regular processing
- # else if LANGUAGE Page exists, add language tag
- # Also the reason why `mdfile` should not be used in `acl.sh`
- if [ "${page%/:${LANGUAGE}}" != "$page" ]; then
- :
- elif [ -f "$_DATA/pages/$page/:$LANGUAGE/#page.md" ]; then
- printf %s\\n "$_DATA/pages/$page/:$LANGUAGE/#page.md"
- return 0
- elif [ -f "$_EXEC/pages/$page/:$LANGUAGE/#page.md" ]; then
- printf %s\\n "$_EXEC/pages/$page/:$LANGUAGE/#page.md"
- return 0
- fi 2>&-
-
- # Regular processing, keep in sync with tools.sh
- 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 2>&-
- # ^^ suppress error messages produced
- # by printf when stdout was closed
-}
-
-# UGLY! UGLY! UGLY!
-# Override markdown processor from `tools.sh` to add link suffixes
-# -> better implement a parser stack, i.e. pipeline markdown + other parser plugins
-if [ "$(which awk)" ]; then
- md() {
- awk -f "$_EXEC/md_macros.awk" -f "$_EXEC/cgilite/markdown.awk" \
- | sed -E 's;(<[^>]+ )href="((/[^"/]+|[^"/]+[^:/]|)/([^"/]+/)*)"([^>]*>);\1href="\2:'"${LANGUAGE}"'"\5;g'
- }
-elif [ "$(which busybox)" ]; then
- md() {
- busybox awk -f "$_EXEC/md_macros.awk" -f "$_EXEC/cgilite/markdown.awk" \
- | sed -E 's;(<[^>]+ )href="((/[^"/]+|[^"/]+[^:/]|)/([^"/]+/)*)"([^>]*>);\1href="\2:'"${LANGUAGE}"'"\5;g'
- }
-else
- md() { cat; }
-fi
-