mkdir -p -- "$_DATA/pages/$page/"
# Macros expect to find page directory as working dir
( cd -- "$_DATA/pages/$page/";
- md <"$mdfile" |tee -- "${cache}.$$"
+ sed -E '1,20{ /^%[a-z]+/d; }' "$mdfile" \
+ | md |tee -- "${cache}.$$"
)
- mv -- "${cache}.$$" "${cache}"
+ grep -q '^%nocache' "$mdfile" \
+ && rm -- "${cache}.$$" \
+ || mv -- "${cache}.$$" "${cache}"
fi
}
/"[.]"/*)
FILE "${_EXEC}/${PATH_INFO#/\[.\]}"
;;
- */)
+ /|*[^]]/)
theme_page "${PATH_INFO}"
;;
*/"[login]")
- [ "$USER_NAME" ] \
- && REDIRECT "./" \
- || theme_login
+ theme_login
;;
*/"[register]")
theme_register
*/"#"*)
: # TODO: Invalid page name
;;
+ *)
+ . "$_EXEC/page_edit.sh"
+ . "$_EXEC/attachment.sh"
esac
-. "$_EXEC/page_edit.sh"
-. "$_EXEC/attachment.sh"