summaryrefslogtreecommitdiff
path: root/bin/make-feeds
diff options
context:
space:
mode:
Diffstat (limited to 'bin/make-feeds')
-rwxr-xr-xbin/make-feeds71
1 files changed, 0 insertions, 71 deletions
diff --git a/bin/make-feeds b/bin/make-feeds
deleted file mode 100755
index d8df2c9..0000000
--- a/bin/make-feeds
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-# This program is free software: you can redistribute it and/or modify it under
-# the terms of the GNU Affero General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option) any
-# later version.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
-# details.
-
-readonly ROOTDIR="$(CDPATH="" cd -- "$(dirname -- "$0")/.." && pwd -P)"
-
-main()
-{
- # Handle opts
- while getopts ":h" opt
- do
- case "$opt" in
- h) usage && exit 0 ;;
- *)
- printf "Invalid option passed: %s\n" "$OPTARG" >&2
- ;;
- esac
- done
-
- shift $(( OPTIND - 1 ))
-
- # Make a list of all unique tags
- tags="$(mktemp)"
- awk '/^tags:/ { for (i=2; i<=NF; i++) print $i }' "$ROOTDIR/src/_posts/"* \
- | sort \
- | uniq \
- > "$tags"
-
- # Create a feed for each tag
- mkdir -p -- "$ROOTDIR/src/feed"
- mkdir -p -- "$ROOTDIR/src/atom"
-
- while read -r tag
- do
- lc_tag="$(printf "%s" "$tag" | tr "[:upper:]" "[:lower:]")"
-
- echo "Creating RSS 2.0 feed for $lc_tag"
- TAG="$tag" envsubst < "$ROOTDIR/share/feed-rss2.xml" > "$ROOTDIR/src/feed/$lc_tag.xml"
-
- echo "Creating Atom feed for $lc_tag"
- TAG="$tag" envsubst < "$ROOTDIR/share/feed-atom.xml" > "$ROOTDIR/src/atom/$lc_tag.xml"
-
- unset lc_tag
- done < "$tags"
-
- # Clean up
- rm -f -- "$tags"
-}
-
-usage()
-{
- cat <<EOF
-Usage:
- ${0##*/} -h
-
-Generate all the seperate feeds for each tag used in posts.
-
-Options:
- -h Show this help text and exit.
-EOF
-}
-
-main "$@"