From c097fffa8a6abb1634f5b6634db5d6b80e56cfc8 Mon Sep 17 00:00:00 2001 From: Konstantin Nazarov Date: Sat, 19 Aug 2023 16:29:04 +0100 Subject: [PATCH] Update rss feed title --- bin/rss.sh | 136 ++++++++++++++++++++++++++--------------------------- 1 file changed, 68 insertions(+), 68 deletions(-) diff --git a/bin/rss.sh b/bin/rss.sh index d7285f6..9392900 100755 --- a/bin/rss.sh +++ b/bin/rss.sh @@ -21,101 +21,101 @@ date_to_rfc_822() { } get_header() { - HFILE="$1" - HEADER="$2" + HFILE="$1" + HEADER="$2" - FILTER="{ \ - if (match(\$0, /^$HEADER: /)) {print substr(\$0, RLENGTH+1, length(\$0) - RLENGTH)}; \ - if (\$0~/^$/) {exit}; \ - if (!\$0~/^[^ ]*: .*$/) {exit}; \ - }" + FILTER="{ \ + if (match(\$0, /^$HEADER: /)) {print substr(\$0, RLENGTH+1, length(\$0) - RLENGTH)}; \ + if (\$0~/^$/) {exit}; \ + if (!\$0~/^[^ ]*: .*$/) {exit}; \ + }" - awk "$FILTER" "$HFILE" + awk "$FILTER" "$HFILE" } list_items() { - DIR="$1" + DIR="$1" - pushd "$DIR" > /dev/null - find . ! -path . -type d | while read -r FN - do - PAGE="$(echo "$FN" | sed 's/^\.\///g')" - #echo "FILE: $PAGE" + pushd "$DIR" > /dev/null + find . ! -path . -type d | while read -r FN + do + PAGE="$(echo "$FN" | sed 's/^\.\///g')" + #echo "FILE: $PAGE" - MD="$PAGE/note.md" - if [ ! -f "$MD" ]; then - echo "$MD doesn't exist" - exit 1; - fi + MD="$PAGE/note.md" + if [ ! -f "$MD" ]; then + echo "$MD doesn't exist" + exit 1; + fi - SUBJECT="$(get_header "$MD" "Subject")" - FDATE="$(get_header "$MD" "X-Date" | sed 's/T.*$//g')" + SUBJECT="$(get_header "$MD" "Subject")" + FDATE="$(get_header "$MD" "X-Date" | sed 's/T.*$//g')" - if [ -z "$SUBJECT" ]; then - echo "No subject in $MD" - exit 1 - fi + if [ -z "$SUBJECT" ]; then + echo "No subject in $MD" + exit 1 + fi - if [ -z "$FDATE" ] && [ "$NODATE" == "0" ]; then - echo "No date in $MD" - exit 1 - fi + if [ -z "$FDATE" ] && [ "$NODATE" == "0" ]; then + echo "No date in $MD" + exit 1 + fi - echo "$FDATE $PAGE $SUBJECT" - done - popd > /dev/null + echo "$FDATE $PAGE $SUBJECT" + done + popd > /dev/null } render_item() { - base_url="$1" - item="$2" + base_url="$1" + item="$2" - site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')" + site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')" - date=$(echo "$item"|awk '{print $1}') - url=$(echo "$item"|awk '{print $2}') - title=$(echo "$item"| cut -d ' ' -f 3- ) + date=$(echo "$item"|awk '{print $1}') + url=$(echo "$item"|awk '{print $2}') + title=$(echo "$item"| cut -d ' ' -f 3- ) - guid="$base_url/$(echo "$url" | sed 's#^/##')" + guid="$base_url/$(echo "$url" | sed 's#^/##')" - cat <<-EOF - - $guid - $guid - $(date_to_rfc_822 "$date") - $title - + cat <<-EOF + + $guid + $guid + $(date_to_rfc_822 "$date") + $title + - EOF +EOF } render_items() { - base_url="$1" + base_url="$1" - while read -r i - do render_item "$1" "$i" - done + while read -r i + do render_item "$1" "$i" + done } render_feed() { - url="$1" - title=$(echo "$2" | remove_nbsp) - description="$3" + url="$1" + title=$(echo "$2" | remove_nbsp) + description="$3" - base_url="$(echo "$url" | cut -d '/' -f1-3)" + base_url="$(echo "$url" | cut -d '/' -f1-3)" - cat <<-EOF - - - - - $title - $description - $base_url/ - $(date_rfc_822) - $(cat) - - EOF + cat <<-EOF + + + + + $title + $description + $base_url/ + $(date_rfc_822) + $(cat) + +EOF } -list_items "$1" | sort | render_items "$2$3" | render_feed "$2" "Konstantin Nazarov" "test" +list_items "$1" | sort | render_items "$2$3" | render_feed "$2" "Konstantin Nazarov" "Konstantin Nazarov's blog"