--- /dev/null
+#!/bin/sh
+
+# Copyright 2025 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.
+
+case $PATH_INFO in
+ *"/["*"]")
+ return 1;
+ ;;
+esac
+
+if acl_read ${PATH_INFO}; then
+ mdfile="$(mdfile "${PATH_INFO%/*}")"
+else
+ return 1
+fi
+
+if [ "$mdfile" ]; then
+ META_DESCRIPTION="$(sed -En '
+ s;\r$;;;
+ /^%meta([\t ]+.*)?$/bMETA;
+ 20q;
+ b;
+
+ :META
+ s;(%(meta)?)?[\t ]*;;
+ p; n; s;\r$;;;
+ /^(%[ \t]+|%meta[ \t]+|[ \t]+)[^ \t\r].*$/bMETA;
+ /^(%[ \t]*|%meta[ \t]*)$/bMETA;
+ ' <"$mdfile")"
+
+ debug "$META_DESCRIPTION"
+else
+ return 1
+fi
+
+return 1
printf '<link rel="stylesheet" type="text/css" href="%s">' \
"$(HTML "${css##*//}")"
done
+ if [ "$META_DESCRIPTION" ]; then
+ printf '<meta name="description" content="%s">' "$(HTML "$META_DESCRIPTION")"
+ fi
}
theme_header(){
theme_error(){
local errno="$1"
+ unset META_DESCRIPTION
case $errno in
400) printf "%s\r\n" "Status: 400 Bad Request";;
403) printf "%s\r\n" "Status: 403 Forbidden";;