]> git.plutz.net Git - shellwiki/blobdiff - index.cgi
error pages 409 and 500
[shellwiki] / index.cgi
index b1b2c2dd2ab11cc4a0c7b8e7cc332503579ad41b..465a98994140c6b1919090333297ca10e0320eca 100755 (executable)
--- a/index.cgi
+++ b/index.cgi
@@ -61,9 +61,12 @@ wiki() {
     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
 }
 
@@ -71,13 +74,11 @@ case "${PATH_INFO}" in
   /"[.]"/*)
     FILE "${_EXEC}/${PATH_INFO#/\[.\]}"
     ;;
-  */)
+  /|*[^]]/)
     theme_page "${PATH_INFO}"
     ;;
   */"[login]")
-    [ "$USER_NAME" ] \
-    && REDIRECT "./" \
-    || theme_login
+    theme_login
     ;;
   */"[register]")
     theme_register
@@ -85,7 +86,8 @@ case "${PATH_INFO}" in
   */"#"*)
     :  # TODO: Invalid page name
     ;;
+  *)
+  . "$_EXEC/page_edit.sh"
+  . "$_EXEC/attachment.sh"
 esac
 
-. "$_EXEC/page_edit.sh"
-. "$_EXEC/attachment.sh"