X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=themes%2Fdefault.sh;h=de357871bd49695f9a2b01efc81c1f12178b2628;hb=65676ea8331f60d882e3baec99c101382e9fad57;hp=7c31003a1798a227f66ef384358084265c229925;hpb=23d9c510f3d544c2d48ca5c82ea521c339b62ecb;p=shellwiki diff --git a/themes/default.sh b/themes/default.sh index 7c31003..de35787 100755 --- a/themes/default.sh +++ b/themes/default.sh @@ -25,29 +25,30 @@ theme_pagemenu(){ local page="$1" if acl_write "$page"; then - printf ' - ' + cat <<-EOF + + EOF fi } theme_page(){ local page="$1" title="$2" - title="$(HTML "${title:-"${page}"}")" + title="$(HTML "${title:-"${PAGE_TITLE:-"${page}"}"}")" # Important! Web Server response including newline printf "%s\r\n" "Content-Type: text/html; charset=utf-8" "" cat <<-EOF - + $(theme_head) ${title} @@ -68,29 +69,53 @@ theme_page(){ } theme_editor(){ - local page="$1" template="$2" title - title="${page%/}"; title="${title##*/}" + local page="$1" template="$2" title file att + title="$(HTML "${PAGE_TITLE:-"${page}"}")" [ "$template" ] && acl_read "$template" || template="$page" theme_page - "Editor: $title" <<-EOF -
+ + + + $([ "$LANGUAGE_DEFAULT" -a "$LANGUAGE_DEFAULT" != "$LANGUAGE" ] && printf ' + + ' "$LANGUAGE_DEFAULT" + ) + - - + +
+
$(wiki "/[wiki]/editorhelp/")
+
+ $(for file in "$_EXEC/pages/${page%/:$LANGUAGE/}/#attachments"/* "$_DATA/pages/${page%/:$LANGUAGE/}/#attachments"/*; do + [ "$file" = "$_EXEC/pages/${page%/:$LANGUAGE/}/#attachments/${file##*/}" \ + -a -f "$_DATA/pages/${page%/:$LANGUAGE/}/#attachments/${file##*/}" ] && continue + case ${file##*/} in + \*) continue;; + *.[pP][nN][gG]|*.[jJ][pP][gG]|*.[jJ][pP][eE][gG]|*.[gG][iI][fF]) + [ "$page" != "${page%/:$LANGUAGE/}" ] && p=../ || p='' + att="$(HTML "${file##*/}")" + printf '

![](%s)

' \ + "$p" "$att" "$att" "$att" "$att" "$att" "$att" "$att" + ;; + *) + att="$(HTML "${file##*/}")" + printf '

[%s](%s)

' "$att" "$att" + ;; + esac + done) +
+ $(if [ "$LANGUAGE_DEFAULT" -a "$LANGUAGE_DEFAULT" != "$LANGUAGE" ]; then + printf '
%s
' "$(LANGUAGE='' wiki_text "${page%/:$LANGUAGE/}" |HTML)" + fi) EOF } -theme_revisions(){ - local page="$1" title - title="${page%/}"; title="${title##*/}" - - "$_EXEC/macros/revisions" "$page" \ - | theme_page - "Revisions: $title" -} +theme_revisions(){ theme_page "$@"; } theme_attachments(){ local page="$1" title @@ -99,19 +124,19 @@ theme_attachments(){ if acl_write "$page"; then theme_page - "Attachments: $title" <<-EOF
-

Upload

+

$(_ Upload)

- +
-

Attachments

+

$(_ Attachments)

- - - - + + + +
    $(for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments"/*; do @@ -133,11 +158,11 @@ theme_attachments(){ "$(size_human "$size")" "$(date -d @"$date" +"%F %T")" done)
- - - - - + + + + +
EOF @@ -171,7 +196,7 @@ theme_error(){ 500) printf "%s\r\n" "Status: 500 Internal Server Error";; esac - if [ "$(mdfile "/[wiki]/$errno/")" ]; then + if mdfile "/[wiki]/$errno/" >&-; then theme_page "/[wiki]/$errno/" else printf "Content-Length: 0\r\n\r\n"