ref: 51e19b2266bb31b76cacdbfeafa58b28a3ef8b70
parent: bc939071cf26b9ea744829df290b26951a14f33d
author: sl <sl@gaff>
date: Sat Jun 14 19:46:57 EDT 2025
bin/{corehandlers.rc, werc.rc, werclib.rc}: handle .gmi and .gem
--- a/bin/werc.rc
+++ b/bin/werc.rc
@@ -12,7 +12,7 @@
# Expected input: ls -F style, $sitedir/path/to/files/
# <ls -F+x><symlink hack><Useless?><hiden files >
dirfilter='s/\*$//; s,/+\./+,/,g; s,^\./,,; /\/[._][^\/]/d; /'$forbidden_uri_chars'/d; /\/sitemap\.xml$/d; /\/index\.(md|html|txt|tpl)$/d; /\/(robots|sitemap)\.txt$/d; /_werc\/?$/d; '
-dirclean=' s/\.(md|html|txt)$//; '
+dirclean=' s/\.(gmi|gem|md|html|txt)$//; '
# Careful, the proper p9p path might not be set until initrc.local is sourced
path=(. /bin ./bin)
--- a/bin/werclib.rc
+++ b/bin/werclib.rc
@@ -97,6 +97,10 @@
sed -n -e '1N; /^.*\n===*$/N; /.*\n===*\n *$/!b' -e 's/\n==*\n//p' < $1
}
+fn get_gmi_title {
+ sed -e 's/^# //;q' < $1
+}
+
fn get_html_title {
t=`{sed -n '32q; s/^.*<[Tt][Ii][Tt][Ll][Ee]> *([^<]+) *(<\/[Tt][Ii][Tt][Ll][Ee]>.*)?$/\1/p' < $1}
@@ -110,6 +114,10 @@
fn get_file_title {
if (~ $1 *.md)
get_md_title $1
+ if not if(~ $1 *.gmi)
+ get_gmi_title $1
+ if not if(~ $1 *.gem)
+ get_gmi_title $1
if not if(~ $1 *.html)
get_html_title $1
if not if(~ $1 */) {
--
⑨