bin/{corehandlers.rc, werc.rc, werclib.rc}: handle .gmi and .gem

This commit is contained in:
sl 2025-06-14 23:46:57 +00:00
parent bc939071cf
commit 51e19b2266
2 changed files with 9 additions and 1 deletions

View file

@ -12,7 +12,7 @@ difs=$ifs # Used to restore default ifs when needed
# Expected input: ls -F style, $sitedir/path/to/files/ # Expected input: ls -F style, $sitedir/path/to/files/
# <ls -F+x><symlink hack><Useless?><hiden 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; ' 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 # Careful, the proper p9p path might not be set until initrc.local is sourced
path=(. /bin ./bin) path=(. /bin ./bin)

View file

@ -97,6 +97,10 @@ fn get_md_title {
sed -n -e '1N; /^.*\n===*$/N; /.*\n===*\n *$/!b' -e 's/\n==*\n//p' < $1 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 { fn get_html_title {
t=`{sed -n '32q; s/^.*<[Tt][Ii][Tt][Ll][Ee]> *([^<]+) *(<\/[Tt][Ii][Tt][Ll][Ee]>.*)?$/\1/p' < $1} t=`{sed -n '32q; s/^.*<[Tt][Ii][Tt][Ll][Ee]> *([^<]+) *(<\/[Tt][Ii][Tt][Ll][Ee]>.*)?$/\1/p' < $1}
@ -110,6 +114,10 @@ fn get_html_title {
fn get_file_title { fn get_file_title {
if (~ $1 *.md) if (~ $1 *.md)
get_md_title $1 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) if not if(~ $1 *.html)
get_html_title $1 get_html_title $1
if not if(~ $1 */) { if not if(~ $1 */) {