From e19f6298c7256972f9175bc2c9e1bb7c22d6249e Mon Sep 17 00:00:00 2001 From: Philip Wittamore Date: Thu, 25 Sep 2025 22:35:10 +0200 Subject: update --- phlogrss | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 phlogrss (limited to 'phlogrss') diff --git a/phlogrss b/phlogrss new file mode 100755 index 0000000..2b24856 --- /dev/null +++ b/phlogrss @@ -0,0 +1,74 @@ +#!/bin/bash + +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) + +# Build RSS header & footer +header () { +echo " +" > ~/feedtop +echo " + +Phil's Phlog +gopher://spike.nagatha.fr +A Gopher phlog from Brittany, France +$updated + +" >> ~/feedtop +} + +footer () { +echo " + + + +" >> ~/feedbottom +} + +# Function: Build Item add to feed + +item () { + echo " + $fullTitle + $postdate + $linkadd + $linkadd + $description +" >> ~/feed +} + +# Function: Concatenate everything + +combine () { + header + footer + cat ~/feedtop ~/feed > ~/feedtb + cat ~/feedtb ~/feedbottom > $feedname + rm ~/feedtop ~/feed ~/feedtb ~/feedbottom +} + +# Run through files and create rss.xml + +if [[ -f $feedname ]]; then + rm $feedname +fi +touch $feedname +mapfile -t postArray < <(ls -t "$postDir"/*.txt) +postNum=0 +for posts in "${postArray[@]}"; do + ((postNum+=1)) + post=$posts + fullTitle=$(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" +done + combine +exit + -- cgit v1.2.3