#!/bin/sh cd $(dirname $0) alias xml="xmlstarlet" # exit if no out dir [[ ! -d ../out ]] && exit 1 cp base.xml atom.xml for file in ../out/post/*; do base=$(basename "$file" .html) xml ed -L \ -s '/rss/channel' -t elem -n item \ --var newitem '$prev' \ -s '$newitem' -t elem -n title -v "$(../scripts/meta title "../posts/${base}.md" | jq --raw-output)" \ -s '$newitem' -t elem -n guid -v "$base" \ -s '$newitem' -t elem -n link -v "/post/$base" \ -s '$newitem' -t elem -n pubDate -v "$(../scripts/meta date "../posts/${base}.md" | jq --raw-output)" \ -s '$newitem' -t elem -n description -v "$(pup -f "../out/post/${base}.html" .contentWrapper)" \ atom.xml done mv atom.xml ../out/