shithub: werc

Download patch

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 */) {
--