done
return 1
}
+
+page_title() {
+ local mdfile PAGE_TITLE
+
+ if mdfile="$(mdfile "${1:-${PATH_INFO%/*}}")"; then
+ PAGE_TITLE="$(
+ sed -nE '
+ s;^%title[ \t]+([[:graph:]][[:print:]]+)\r?$;\1;p; tQ;
+ b; :Q q;
+ ' "$mdfile"
+ )"
+ [ ! "${PAGE_TITLE}" ] && PAGE_TITLE="$(
+ MD_MACROS="" md <"$mdfile" \
+ | sed -nE '
+ s;^.*<h1[^>]*>(.*>)?([^<]+)(<.*)?</h1>.*$;\2;p; tQ;
+ s;^.*<h2[^>]*>(.*>)?([^<]+)(<.*)?</h2>.*$;\2;p; tQ;
+ b; :Q q;
+ '
+ )"
+ printf %s\\n "$PAGE_TITLE"
+ else
+ return 1
+ fi
+}