#!/bin/sh
-_EXEC="${_EXEC:-.}"
+_EXEC="${_EXEC:-${0%/*}/}"
_DATA="${_DATA:-.}"
. "$_EXEC"/cgilite/cgilite.sh
. "$_EXEC"/cgilite/file.sh
. "$_EXEC"/session_lock.sh
+git init "$_DATA"
+
yield_page(){
page="$1"
printf '%s\r\n' 'Content-Type: text/html; charset=utf-8' \
webnote.css) FILE "$_EXEC/webnote.css";;
'') yield_page <<-EOF
[form .new action=new [button type=submit New Note]
- [ul .recent
- $({ COOKIE pages; echo; } |tr \ \\n |while read page; do
- [ "$(printf %s "$page" |checkid)" ] && printf '[li [a href="./%s" . %s]]' "$page" "$page"
- done)]
+ $(if [ "$(COOKIE pages)" ]; then
+ printf '[h2 Recent Pages][ul .recent'
+ { COOKIE pages; echo; } |tr \ \\n |while read page; do
+ [ "$(printf %s "$page" |checkid)" ] && printf '[li [a href="./%s" . %s]]' "$page" "$page"
+ done
+ fi)]
]
EOF
return 0
new)
newid="$(timeid)"
touch "$_DATA/$newid"
+ git -C "$_DATA" add "$newid"
+ git -C "$_DATA" commit -m "new note \"${newid}\"" "$newid"
REDIRECT "./$newid"
;;
esac
doc="$_DATA/$(printf %s ${PATH_INFO##*/} |checkid)"
if [ ! -f "$doc" ]; then
- REDIRECT "${PATH_INFO%%/*}/"
+ REDIRECT "${PATH_INFO%/*}/"
return 0
fi
if temp=$(CHECK_SLOCK "$doc"); then
RELEASE_SLOCK "$doc"
POST document >"${doc}"
+ git -C "$_DATA" commit -m "update note ${doc##*/} \"$(sed '1{s;\r;;; q;}' "$doc")\"" "${doc##*/}" >/dev/null
REDIRECT "$PATH_INFO"
else
yield_page <<-EOF