X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=themes%2Fdefault.sh;h=d13e849f72ece086e4fb9a456f2fbe2419ea5f3d;hb=ef53fdd21126a5b7d3df98a7cf7ea06deb36a255;hp=85febeef60e7274563a2e62c0d59698e7088bb12;hpb=ebac44302c70e36c951e77f0c5496c74bee547ee;p=shellwiki diff --git a/themes/default.sh b/themes/default.sh index 85febee..d13e849 100755 --- a/themes/default.sh +++ b/themes/default.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2022 - 2023 Paul Hänsch +# 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 @@ -19,6 +19,7 @@ theme_head(){ local IFS="$BR" printf ' + ' for css in "$_BASE/%5B.%5D/cgilite/common.css" "$_BASE/%5B.%5D/themes/default.css" $PAGE_CSS; do @@ -83,12 +84,11 @@ theme_page(){ } theme_editor(){ - local page="$1" template="$2" title file att - title="$(HTML "${PAGE_TITLE:-"${page}"}")" + 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 @@ -108,17 +108,21 @@ theme_editor(){ $(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='' - att="$(HTML "${file##*/}")" - printf '

![](%s)

' \ - "$p" "$att" "$att" "$att" "$att" "$att" "$att" "$att" + printf '

![](<%s>)

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

[%s](%s)

' "$att" "$att" + printf '

[%s](<%s>)

' "$name" "$url" ;; esac done) @@ -131,12 +135,36 @@ theme_editor(){ theme_revisions(){ theme_page "$@"; } +theme_search(){ + local words="$*" + # STDIN: [STRING page][TAB][STRING teaser] + + theme_page - "$(_ Search results): ${words}" <<-EOF +
+

$([ "$words" ] && _ "Search results" || _ "Search" )

+ +
    + $(while read -r p t; do + path="$(UNSTRING "$p")" pfrag="${path%/}" title='' + while [ "$pfrag" ]; do + title="$(page_title "$pfrag")/$title" + pfrag="${pfrag%/*}" + done + printf '
  1. %s

    %s

  2. ' \ + "$(URL "$path")" "$(HTML "/$title")" "$(UNSTRING "$t" |HTML)" + done) +
+
+ EOF +} + 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)

@@ -181,7 +209,7 @@ theme_attachments(){
EOF else - theme_page - "$(_ Attachments): $title" <<-EOF + theme_page - "$(_ Attachments): ${PAGE_TITLE:-"${page}"}" <<-EOF