From fd5ca9551ce75d8856451de7928b000cb3b1c779 Mon Sep 17 00:00:00 2001 From: Philip Wittamore Date: Tue, 5 May 2026 21:42:52 +0200 Subject: update --- blogrss | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 blogrss (limited to 'blogrss') diff --git a/blogrss b/blogrss new file mode 100755 index 0000000..da84d0f --- /dev/null +++ b/blogrss @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +link=https://wittamore.com/articles/2025 +description='Ramblings from Brittany, France' +rsslink=https://wittamore.com/rss.xml +feedname=/home/philip/web/rss.xml +postDir=/home/philip/web/articles/2025 +updated=$(date --iso-8601=ns) + +# Build RSS header & footer +header () { +echo " +" > ~/feedtop +echo " + +Bloggings - wittamore.com +https://wittamore.com +Ramblings 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"/*.html) +postNum=0 +for posts in "${postArray[@]}"; do + ((postNum+=1)) + post=$posts + fullTitle=$(grep -o '>.*' "$post" | sed 's/\(>\|<\/h2>\)//g') + postdate=$(grep -o '>.*' "$post" | sed 's/\(>\|<\/h5>\)//g') + postname=${post##*/} + linkadd="$link"/"$postname" + description=$(sed -n '/

.*/,/*.<\/h4>/{p;q;}' "$post" | sed -e 's/<[^>]\+>/ /g' -e 's|

||g' -e 's|

||g' -e 's|"||g') + item "$post" +done + combine +exit + -- cgit v1.3-3-g829e