aboutsummaryrefslogtreecommitdiff
path: root/rss/genrss
blob: 6d88f0f1a63eaaa4a33e7f52e229da521c739c7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/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/