Put full article text into the rss feed
This commit is contained in:
parent
d352b6afc6
commit
f3a6c45b0c
2 changed files with 47 additions and 7 deletions
36
bin/mdpage_plain.sh
Executable file
36
bin/mdpage_plain.sh
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
render() {
|
||||||
|
NOTITLE="$1"
|
||||||
|
LASTLINE=""
|
||||||
|
TITLE=""
|
||||||
|
|
||||||
|
while read -r line ; do
|
||||||
|
if [[ "$line" =~ ^Subject:\ .*$ ]]; then
|
||||||
|
TITLE="${line#* }"
|
||||||
|
fi
|
||||||
|
if [[ "$line" =~ ^X-Date:\ .*$ ]]; then
|
||||||
|
DATE="${line#* }"
|
||||||
|
fi
|
||||||
|
if [[ ! "$line" =~ ^[^\ ]*:\ .*$ ]]; then
|
||||||
|
LASTLINE="$line"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
{
|
||||||
|
[ "$NOTITLE" == "0" ] && echo "# $TITLE";
|
||||||
|
echo "$LASTLINE";
|
||||||
|
cat
|
||||||
|
} | awk -f ./bin/markdown.awk
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ -t 0 ]; then
|
||||||
|
echo "Missing Markdown body"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
render "$NOTITLE"
|
18
bin/rss.sh
18
bin/rss.sh
|
@ -67,16 +67,18 @@ list_items() {
|
||||||
}
|
}
|
||||||
|
|
||||||
render_item() {
|
render_item() {
|
||||||
base_url="$1"
|
DIR="$1"
|
||||||
item="$2"
|
base_url="$2"
|
||||||
|
item="$3"
|
||||||
|
|
||||||
site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')"
|
site_url="$(echo "$base_url"| sed 's#\(.*//.*\)/.*#\1#')"
|
||||||
|
|
||||||
date=$(echo "$item"|awk '{print $1}')
|
date=$(echo "$item"|awk '{print $1}')
|
||||||
url=$(echo "$item"|awk '{print $2}')
|
page=$(echo "$item"|awk '{print $2}')
|
||||||
title=$(echo "$item"| cut -d ' ' -f 3- )
|
title=$(echo "$item"| cut -d ' ' -f 3- )
|
||||||
|
|
||||||
guid="$base_url/$(echo "$url" | sed 's#^/##')"
|
guid="$base_url/$(echo "$page" | sed 's#^/##')"
|
||||||
|
content=$(cat $DIR/$page/note.md | ./bin/mdpage_plain.sh)
|
||||||
|
|
||||||
cat <<-EOF
|
cat <<-EOF
|
||||||
<item>
|
<item>
|
||||||
|
@ -84,16 +86,18 @@ render_item() {
|
||||||
<link>$guid</link>
|
<link>$guid</link>
|
||||||
<pubDate>$(date_to_rfc_822 "$date")</pubDate>
|
<pubDate>$(date_to_rfc_822 "$date")</pubDate>
|
||||||
<title>$title</title>
|
<title>$title</title>
|
||||||
|
<description><![CDATA[$content]]></description>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
render_items() {
|
render_items() {
|
||||||
base_url="$1"
|
DIR="$1"
|
||||||
|
base_url="$2"
|
||||||
|
|
||||||
while read -r i
|
while read -r i
|
||||||
do render_item "$1" "$i"
|
do render_item "$DIR" "$base_url" "$i"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -118,4 +122,4 @@ render_feed() {
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
list_items "$1" | sort | render_items "$2$3" | render_feed "$2" "Konstantin Nazarov" "Konstantin Nazarov's blog"
|
list_items "$1" | sort | tail -10 | render_items "$1" "$2$3" | render_feed "$2" "Konstantin Nazarov" "Konstantin Nazarov's blog"
|
||||||
|
|
Loading…
Reference in a new issue