diff options
Diffstat (limited to 'bin/make-feeds')
-rwxr-xr-x | bin/make-feeds | 71 |
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 "$@" |