#!/bin/bash title=Bloggings 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) # correct file date to match blog post date #cd $postDir #postArray=( $(ls *.html) ) #for posts in "${postArray[@]}"; do # post=$posts # postdate=$(grep -o '>.*' $post | sed 's/\(>\|<\/h5>\)//g') # #[[CC]YY]MMDDhhmm[.ss] # postdate="${postdate//-}0000" # echo Date=$postdate # echo Item=$post # touch -a -m -t $postdate $post #done # 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 postArray=( $(ls -t "$postDir"/*.html) ) numPosts=$(ls "$postDir"/*.html | wc -l) postNum=0 for posts in "${postArray[@]}"; do let 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" guid=$postNum 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