werc-1.5.0-tweaks

Tweaks for the werc website builder created by the mad architect Uriel
Log | Files | Refs | README

commit 4b969262a789bae6cfafe5160cfba34cf268e333
parent af593f4c968cded10ddf8f3d44f0d7a069af8067
Author: Nuno Sempere <nuno.semperelh@protonmail.com>
Date:   Mon, 25 Jul 2022 23:06:23 +0000

feat: consolidate sitemaps

Diffstat:
Dtpl/blogroll.tpl | 69---------------------------------------------------------------------
Mtpl/sitemap.tpl | 24+++++++++++++++---------
Dtpl/sitemap2.tpl | 73-------------------------------------------------------------------------
3 files changed, 15 insertions(+), 151 deletions(-)

diff --git a/tpl/blogroll.tpl b/tpl/blogroll.tpl @@ -1,69 +0,0 @@ -<h1>Site map</h1> - -%{ -tmpfile=/tmp/werc_sitemap_$pid.txt -tmpfilex=/tmp/werc_sitemapx_$pid.txt -saveddf=$dirfilter - -MON2NUM='s/Jan/01/; s/Feb/02/; s/Mar/03/; s/Apr/04/; s/May/05/; s/Jun/06/; s/Jul/07/; s/Aug/08/; s/Sep/09/; s/Oct/10/; s/Nov/11/; s/Dec/12/;' - -fn get_mdate { - t=`{mtime $1} - t=`{date $t(1) | sed -e $MON2NUM -e 's/ ([0-9]) / 0\1 /g'} # Make sure day of the month is two digits. - echo $t(6)^'-'^$t(2)^'-'^$t(3) -} - -fn listDir { - d=$1 - dirfilter=$saveddf - if(test -f $d/_werc/config) - . $d/_werc/config - - if(~ $#perm_redir_to 0) { - echo '<ul class="sitemap-list">' - - for(i in `{ls -dF $d^*/ $d^*.md $d^*.html $d^*.txt >[2]/dev/null | sed $dirfilter}) { - desc=`{get_file_title $i} - u=`{echo $i|sed 's!'$sitedir'!!; '$dirclean's!/index$!/!; '} - if(! ~ $#desc 0 && ! ~ $desc '') - timestamp=`{echo $i | sed 's|sites/nunosempere.com/blog/||;' | sed 's|\(\d\)/.*/|$1|'} - echo $timestamp - // desc=' - '$"desc - echo '<a href="'$u'">' $"desc '</a>' - n=`{echo /$u|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'} - echo $base_url^$u >> $tmpfile - echo '<url><loc>'$base_url^$u'</loc><lastmod>'^`{get_mdate $i}^'</lastmod></url>' >> $tmpfilex - if(test -d $i) - @{ listDir $i } - } - echo '</ul>' - } -} - - -fltr_cache listDir $sitedir/ - -if(test -s $tmpfile) { - mv $tmpfile $sitedir/sitemap.txt & -} -if not if(test -f $tmpfile) - rm $tmpfile - -if(test -s $tmpfilex) { - { - echo '<?xml version="1.0" encoding="UTF-8"?> -<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' - - cat $tmpfilex - rm $tmpfilex & - echo '</urlset>' - # TODO Enable automaic search engine update notification. - #hget 'http://google.com/ping?sitemap='^`{url_encode $base_url'/sitemap.gz'} > /dev/null - - } | gzip > $sitedir/sitemap.gz & - #} > $sitedir/sitemap.xml & -} -if not if(test -f $tmpfilex) - rm $tmpfilex - -%} diff --git a/tpl/sitemap.tpl b/tpl/sitemap.tpl @@ -2,8 +2,9 @@ %{ tmpfile=/tmp/werc_sitemap_$pid.txt -tmpfilex=/tmp/werc_sitemapx_$pid.txt +tmpfilex=/tmp/werc_sitemap_$pid.txt saveddf=$dirfilter +filtereddirs=( images ) MON2NUM='s/Jan/01/; s/Feb/02/; s/Mar/03/; s/Apr/04/; s/May/05/; s/Jun/06/; s/Jul/07/; s/Aug/08/; s/Sep/09/; s/Oct/10/; s/Nov/11/; s/Dec/12/;' @@ -23,14 +24,19 @@ fn listDir { echo '<ul class="sitemap-list">' for(i in `{ls -dF $d^*/ $d^*.md $d^*.html $d^*.txt >[2]/dev/null | sed $dirfilter}) { - desc=`{get_file_title $i} - u=`{echo $i|sed 's!'$sitedir'!!; '$dirclean's!/index$!/!; '} - if(! ~ $#desc 0 && ! ~ $desc '') - desc=' - '$"desc - n=`{echo /$u|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'} - echo '<li><a href="'$u'">'^$"n^'</a>' $"desc '</li>' - echo $base_url^$u >> $tmpfile - echo '<url><loc>'$base_url^$u'</loc><lastmod>'^`{get_mdate $i}^'</lastmod></url>' >> $tmpfilex + filename=`{get_file_title $i} + url=`{echo $i|sed 's!'$sitedir'!!; '$dirclean's!/index$!/!; '} + dirname=`{echo /$url|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'} + if(! ~ $#filename 0 && ! ~ $filename '') { + # filename=' — '$"filename + echo '<li><a href="'$url'">'^$"filename^'</a></li>' + } + if not { + if(! ~ $"dirname $filtereddirs) + echo '<li><a href="'$url'">'^$"dirname^'</a></li>' + } + echo $base_url^$url >> $tmpfile + echo '<url><loc>'$base_url^$url'</loc><lastmod>'^`{get_mdate $i}^'</lastmod></url>' >> $tmpfilex if(test -d $i) @{ listDir $i } } diff --git a/tpl/sitemap2.tpl b/tpl/sitemap2.tpl @@ -1,73 +0,0 @@ -<h1>Site map</h1> - -%{ -tmpfile=/tmp/werc_sitemap2_$pid.txt -tmpfilex=/tmp/werc_sitemap2_$pid.txt -saveddf=$dirfilter -filtereddirs=( images ) - -MON2NUM='s/Jan/01/; s/Feb/02/; s/Mar/03/; s/Apr/04/; s/May/05/; s/Jun/06/; s/Jul/07/; s/Aug/08/; s/Sep/09/; s/Oct/10/; s/Nov/11/; s/Dec/12/;' - -fn get_mdate { - t=`{mtime $1} - t=`{date $t(1) | sed -e $MON2NUM -e 's/ ([0-9]) / 0\1 /g'} # Make sure day of the month is two digits. - echo $t(6)^'-'^$t(2)^'-'^$t(3) -} - -fn listDir { - d=$1 - dirfilter=$saveddf - if(test -f $d/_werc/config) - . $d/_werc/config - - if(~ $#perm_redir_to 0) { - echo '<ul class="sitemap-list">' - - for(i in `{ls -dF $d^*/ $d^*.md $d^*.html $d^*.txt >[2]/dev/null | sed $dirfilter}) { - filename=`{get_file_title $i} - url=`{echo $i|sed 's!'$sitedir'!!; '$dirclean's!/index$!/!; '} - dirname=`{echo /$url|sed 's/[\-_]/ /g; s,.*/([^/]+)/?$,\1,'} - if(! ~ $#filename 0 && ! ~ $filename '') { - # filename=' — '$"filename - echo '<li><a href="'$url'">'^$"filename^'</a></li>' - } - if not { - if(! ~ $"dirname $filtereddirs) - echo '<li><a href="'$url'">'^$"dirname^'</a></li>' - } - echo $base_url^$url >> $tmpfile - echo '<url><loc>'$base_url^$url'</loc><lastmod>'^`{get_mdate $i}^'</lastmod></url>' >> $tmpfilex - if(test -d $i) - @{ listDir $i } - } - echo '</ul>' - } -} - - -fltr_cache listDir $sitedir/ - -if(test -s $tmpfile) { - mv $tmpfile $sitedir/sitemap.txt & -} -if not if(test -f $tmpfile) - rm $tmpfile - -if(test -s $tmpfilex) { - { - echo '<?xml version="1.0" encoding="UTF-8"?> -<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' - - cat $tmpfilex - rm $tmpfilex & - echo '</urlset>' - # TODO Enable automaic search engine update notification. - #hget 'http://google.com/ping?sitemap='^`{url_encode $base_url'/sitemap.gz'} > /dev/null - - } | gzip > $sitedir/sitemap.gz & - #} > $sitedir/sitemap.xml & -} -if not if(test -f $tmpfilex) - rm $tmpfilex - -%}