aboutsummaryrefslogtreecommitdiff
path: root/rss/genrss
diff options
context:
space:
mode:
Diffstat (limited to 'rss/genrss')
-rwxr-xr-xrss/genrss27
1 files changed, 27 insertions, 0 deletions
diff --git a/rss/genrss b/rss/genrss
new file mode 100755
index 0000000..7cfd005
--- /dev/null
+++ b/rss/genrss
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+cd $(dirname $0)
+
+# 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 ../public
+
+cd ..
+npx next build
+npx next export