#!/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