X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=index.cgi;h=8479bd9dd492127e760f19865e14a659fdecef6e;hb=d75f33f647280ada400fb51f740701cdb12dd4d3;hp=0c7e914062c3d99c38420e106c32b6a29c3dc59d;hpb=b86e88d2d6acd3eda7d9858539818a290db67d41;p=shellwiki diff --git a/index.cgi b/index.cgi index 0c7e914..8479bd9 100755 --- a/index.cgi +++ b/index.cgi @@ -2,21 +2,16 @@ . "${_EXEC:-${0%/*}}/cgilite/cgilite.sh" . "${_EXEC}/cgilite/session.sh" -. "${_EXEC}/cgilite/file.sh" . "${_EXEC}/cgilite/users.sh" +. "${_EXEC}/tools.sh" . "${_EXEC}/acl.sh" -mdfile(){ - local page="$(PATH "$1")" +REV_ATTACHMENTS=${REV_ATTACHMENTS:-false} +WIKI_THEME="${WIKI_THEME:-default}" +. "${_EXEC}/themes/${WIKI_THEME}.sh" - if [ -f "$_DATA/pages/$page/#page.md" ]; then - printf %s\\n "$_DATA/pages/$page/#page.md" - elif [ -f "$_EXEC/pages/$page/#page.md" ]; then - printf %s\\n "$_EXEC/pages/$page/#page.md" - else - return 1 - fi -} +# Renew session cookie, only if cookie already set +[ "$(COOKIE session)" ] && SESSION_COOKIE wiki_text() { # Print source text of a wiki page @@ -28,6 +23,23 @@ wiki_text() { cat -- "$mdfile" } +if [ "$(which git)" -a ! -f "$_DATA/.gitignore" ]; then + cat >"$_DATA/.gitignore" <<-EOF + users.db + serverkey + $([ "$REV_ATTACHMENTS" = true ] || printf %s "**/#attachments/") + **/#cache/ + **/#page.lock + **/#page.*.cache + **/#page.*.cache.* + **/#page:*.*.cache + **/#page:*.*.cache.* + EOF + git init "$_DATA" + git -C "$_DATA" add .gitignore + git -C "$_DATA" commit -m 'initialization' -- .gitignore +fi 1>&2 + for handler in "$_EXEC"/handlers/*; do . "$handler" && break done