X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=themes%2Fdefault.sh;h=5ebbd0ef6964180a146ea96b10ddf5a2ee5658ec;hb=20c6ce6a3de621383d1b6d985757366590722005;hp=0439f0d642421244c6049fa2ef9896389a5e21a5;hpb=d88ce0318691f70a29d7f8a2a19a82872d01c261;p=shellwiki diff --git a/themes/default.sh b/themes/default.sh index 0439f0d..5ebbd0e 100755 --- a/themes/default.sh +++ b/themes/default.sh @@ -1,10 +1,25 @@ #!/bin/sh +# Copyright 2022 - 2024 Paul Hänsch +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +# IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + . "$_EXEC/tools.sh" theme_head(){ local IFS="$BR" printf ' + ' for css in "$_BASE/%5B.%5D/cgilite/common.css" "$_BASE/%5B.%5D/themes/default.css" $PAGE_CSS; do @@ -25,22 +40,23 @@ 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" "" @@ -68,50 +84,76 @@ theme_page(){ } theme_editor(){ - local page="$1" template="$2" title - title="${page%/}"; title="${title##*/}" + local page="$1" template="$2" file att [ "$template" ] && acl_read "$template" || template="$page" - theme_page - "Editor: $title" <<-EOF -
+ theme_page - "$(_ Editor): ${PAGE_TITLE:-"${page}"}" <<-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 + att="$(HTML "${file##*/}")" + url="$(printf %s\\n "${file##*/}" |sed 's;[\\<>];\\&;g' |HTML)" + name="$(printf %s\\n "${file##*/}" |sed 's;[]\\[];\\&;g' |HTML)" + case ${file##*/} in + \*) continue;; + *.[pP][nN][gG]|*.[jJ][pP][gG]|*.[jJ][pP][eE][gG]|*.[gG][iI][fF]) + [ "$page" != "${page%/:$LANGUAGE/}" ] && p=../ || p='' + printf '

![](<%s>)

' \ + "$p" "$att" "$url" "$name" "$url" "$name" "$url" "$url" + ;; + *) + printf '

[%s](<%s>)

' "$name" "$url" + ;; + 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 - title="${page%/}"; title="${title##*/}" + local page="$1" if acl_write "$page"; then - theme_page - "Attachments: $title" <<-EOF + theme_page - "$(_ Attachments): ${PAGE_TITLE:-"${page}"}" <<-EOF
-

Upload

+

$(_ Upload)

- +
-

Attachments

+

$(_ Attachments)

- - - - + + + +
- - - - - + + + + +
EOF else - theme_page - "Attachments: $title" <<-EOF + theme_page - "$(_ Attachments): ${PAGE_TITLE:-"${page}"}" <<-EOF