From 1eb8c4e7d504b37cd93708074430441beb60852f Mon Sep 17 00:00:00 2001 From: Philip Wittamore Date: Fri, 26 Sep 2025 09:21:44 +0200 Subject: update --- phlogrss | 75 +++++++++++++++++++++++++++++++++------------------------------ phlogthis | 13 +++++------ 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/phlogrss b/phlogrss index 1dd9af5..192b2c0 100755 --- a/phlogrss +++ b/phlogrss @@ -5,36 +5,36 @@ phloglink="gopher://spike.nagatha.fr/0/phlog" description="Phil's Phlog" rsslink=gopher://spike.nagatha.fr/phlog/rss.xml -feedname=$HOME/src/gopher/phlog/rss.xml -postDir=$HOME/src/gopher/phlog -updated=$(date --iso-8601=ns) +filename=$HOME/src/gopher/phlog/rss.xml +postdir=$HOME/src/gopher/phlog +builddate=$(date --iso-8601=ns) +buildyear=$(date +%Y) # Build RSS header & footer -header () { +build_header () { echo " -" > ~/feedtop -echo " - +" > ~/header +echo " Phil's Phlog -gopher://spike.nagatha.fr -A Gopher phlog from Brittany, France -$updated +gopher://spike.nagatha.fr/1/phlog -" >> ~/feedtop +en-us +© $buildyear Philip A. Wittamore - All Rights Reserved +$builddate +A Gopher phlog from Brittany, France +" >> ~/header } -footer () { +build_footer () { echo " -" >> ~/feedbottom +" >> ~/footer } -# Function: Build Item add to feed - -item () { +build_item () { echo " - $fullTitle + $title $postdate $linkadd $linkadd @@ -42,34 +42,37 @@ item () { " >> ~/feed } -# Function: Concatenate everything - -combine () { - header - footer - cat ~/feedtop ~/feed > ~/feedtb - cat ~/feedtb ~/feedbottom > $feedname - rm ~/feedtop ~/feed ~/feedtb ~/feedbottom +build_xml_file () { + build_header + build_footer + cat ~/header ~/feed > ~/rss_tmp + cat ~/rss_tmp ~/footer > "$filename" + rm ~/header ~/feed ~/rss_tmp ~/footer } -# Run through files and create rss.xml +# list files and create rss.xml -if [[ -f $feedname ]]; then - rm $feedname +if [[ -f $filename ]]; then + rm "$filename" fi -touch $feedname -mapfile -t postArray < <(ls -t "$postDir"/*.txt) + +touch "$filename" +mapfile -t post_array < <(ls -t "$postdir"/*.txt) postNum=0 -for posts in "${postArray[@]}"; do + +for posts in "${post_array[@]}"; do ((postNum+=1)) post=$posts - fullTitle=$(head -n1 "$post" | sed 's/title://g') - postdate=$(cat $post | sed -n '2p' | sed 's/date://g') + title=$(head -n1 "$post" | sed 's/title://g') + postdate=$(cat "$post" | sed -n '2p' | sed 's/date://g') postname=${post##*/} linkadd="$phloglink/$postname" - description="$(cat $post | sed -n "/^$/,/^$/p" | head --lines 3) …" - item "$post" + description="$(cat "$post" | sed -n "/^$/,/^$/p" | head --lines 3) …" + build_item "$post" done - combine + + # put it all together + build_xml_file + exit diff --git a/phlogthis b/phlogthis index 08410e1..4dc7fd0 100755 --- a/phlogthis +++ b/phlogthis @@ -1,8 +1,7 @@ #!/bin/bash # create phlog entry, rebuild gophermap -# requires par for text formatting - +# requires the text formating utility 'par' root=$HOME/src/gopher/phlog @@ -22,17 +21,18 @@ dest="$root/$article" micro +4:1 "$editfile" -# article -cat "$editfile" | par -jw67 >> "$article" +# Justify article. This may fail if a +# non-empty line doesn't contain spaces +cat "$editfile" | par -jw67 > $article -header="title:$title\ndate:$articledate\n\n" +header="title:$title\ndate:$articledate\n$(printf '%*s' 66 | tr ' ' '-')\n\n" sed -i "1s/^/$header/" $article mv "$article" "$dest" rm $editfile echo "Article saved as $dest" -# create gophermap +# build gophermap cd $root @@ -43,7 +43,6 @@ echo "" >> gophermap echo "0[Rss feed] /phlog/rss.xml spike.nagatha.fr 70" >> gophermap echo "" >> gophermap - files=($(ls -1r *.txt)) for file in "${files[@]}"; do echo -e "0$(head -n 1 $file | sed s/title://g)\t/phlog/$file\tspike.nagatha.fr\t70" >> gophermap -- cgit v1.2.3