X-Git-Url: http://git.plutz.net/?a=blobdiff_plain;f=themes%2Fdefault.sh;h=d82764bc7bde6b3361b07e4ea3a3af972efa6e6f;hb=c895cb5c92f3b1ab8c61821d79ba2c1438eec304;hp=1f8d285d4eb9a241601dde074f0fbd80fcb66800;hpb=9f4240c2867a03627e7b1615790255f1bbf7e568;p=shellwiki diff --git a/themes/default.sh b/themes/default.sh index 1f8d285..d82764b 100755 --- a/themes/default.sh +++ b/themes/default.sh @@ -3,11 +3,14 @@ . "$_EXEC/tools.sh" theme_head(){ + local IFS="$BR" printf ' - - - - ' "$_BASE" + + ' + for css in "$_BASE/%5B.%5D/cgilite/common.css" "$_BASE/%5B.%5D/themes/default.css" $PAGE_CSS; do + printf '' \ + "$(HTML "${css##*//}")" + done } theme_header(){ @@ -24,28 +27,30 @@ theme_pagemenu(){ if acl_write "$page"; then printf ' ' fi } theme_page(){ - local page="$1" title="$2" id="$3" - title="$(HTML "${title:-"${page}"}")" - id="$(HTML "${id:-"${page}"}")" + local page="$1" title="$2" + 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} - + $(theme_header)
$(theme_pagemenu) @@ -63,19 +68,43 @@ 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" "${page}[edit]" <<-EOF -
+ theme_page - "Editor: $title" <<-EOF + + + + +
+
$(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)

  • [%s]([attachment]/%s)
  • [![%s](%s)]([attachment]/%s)
' \ + "$p" "$att" "$att" "$att" "$att" "$att" "$att" "$att" + ;; + *) + att="$(HTML "${file##*/}")" + printf '

[%s](%s)

' "$att" "$att" + ;; + esac + done) +
EOF } @@ -84,7 +113,7 @@ theme_revisions(){ title="${page%/}"; title="${title##*/}" "$_EXEC/macros/revisions" "$page" \ - | theme_page - "Revisions: $title" "${page}[revision]" + | theme_page - "Revisions: $title" } theme_attachments(){ @@ -92,40 +121,63 @@ theme_attachments(){ title="${page%/}"; title="${title##*/}" if acl_write "$page"; then - theme_page - "Attachments: $title" "${page}[attachment]" <<-EOF + theme_page - "Attachments: $title" <<-EOF
+

Upload

-
    + +

    Attachments

    + + + + +
    +
      $(for file in "$_EXEC/pages/$page/#attachments"/* "$_DATA/pages/$page/#attachments"/*; do [ "$file" = "$_EXEC/pages/$page/#attachments/${file##*/}" \ -a -f "$_DATA/pages/$page/#attachments/${file##*/}" ] && continue stat="$(stat -c '%s %Y' -- "$file" 2>&-)" || continue size="${stat% *}" date="${stat#* }" + hfile="$(HTML "${file##*/}")" - printf '
    • %s - %s%s
    • ' \ - "$(HTML "${file##*/}")" "$(HTML "${file##*/}")" "$(HTML "${file##*/}")" \ - "$(size_human "$size")" "$(date -d @"$date" +"%F %T")" + printf '
    • + + + %s + %s + %s +
    • ' \ + "$hfile" "$hfile" "$hfile" "$hfile" \ + "$(slopecode "${file##*/}")" "$hfile" "$hfile" "$hfile" \ + "$(size_human "$size")" "$(date -d @"$date" +"%F %T")" done) -
    +
+ + + + + + + EOF else - theme_page - "Attachments: $title" "${page}[attachment]" <<-EOF + theme_page - "Attachments: $title" <<-EOF EOF @@ -143,7 +195,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"