aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xphlogrss75
-rwxr-xr-xphlogthis13
2 files changed, 45 insertions, 43 deletions
diff --git a/phlogrss b/phlogrss
index 1dd9af5..192b2c0 100755
--- a/phlogrss
+++ b/phlogrss
@@ -5,36 +5,36 @@
phloglink="gopher://spike.nagatha.fr/0/phlog"
description="Phil's Phlog"
rsslink=gopher://spike.nagatha.fr/phlog/rss.xml
-feedname=$HOME/src/gopher/phlog/rss.xml
-postDir=$HOME/src/gopher/phlog
-updated=$(date --iso-8601=ns)
+filename=$HOME/src/gopher/phlog/rss.xml
+postdir=$HOME/src/gopher/phlog
+builddate=$(date --iso-8601=ns)
+buildyear=$(date +%Y)
# Build RSS header & footer
-header () {
+build_header () {
echo "<?xml version='1.0' encoding='UTF-8' ?>
-<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'>" > ~/feedtop
-echo "
-<channel>
+<rss version='2.0' xmlns:atom='http://www.w3.org/2005/Atom'>" > ~/header
+echo "<channel>
<title>Phil&#39;s Phlog</title>
-<link>gopher://spike.nagatha.fr</link>
-<description>A Gopher phlog from Brittany, France</description>
-<lastBuildDate>$updated</lastBuildDate>
+<link>gopher://spike.nagatha.fr/1/phlog</link>
<atom:link href='$rsslink' rel='self' type='application/rss+xml' />
-" >> ~/feedtop
+<language>en-us</language>
+<copyright>© $buildyear Philip A. Wittamore - All Rights Reserved</copyright>
+<lastBuildDate>$builddate</lastBuildDate>
+<description>A Gopher phlog from Brittany, France</description>
+" >> ~/header
}
-footer () {
+build_footer () {
echo "
</channel>
</rss>
-" >> ~/feedbottom
+" >> ~/footer
}
-# Function: Build Item add to feed
-
-item () {
+build_item () {
echo "<item>
- <title>$fullTitle</title>
+ <title>$title</title>
<pubDate>$postdate</pubDate>
<link>$linkadd</link>
<guid>$linkadd</guid>
@@ -42,34 +42,37 @@ item () {
</item>" >> ~/feed
}
-# Function: Concatenate everything
-
-combine () {
- header
- footer
- cat ~/feedtop ~/feed > ~/feedtb
- cat ~/feedtb ~/feedbottom > $feedname
- rm ~/feedtop ~/feed ~/feedtb ~/feedbottom
+build_xml_file () {
+ build_header
+ build_footer
+ cat ~/header ~/feed > ~/rss_tmp
+ cat ~/rss_tmp ~/footer > "$filename"
+ rm ~/header ~/feed ~/rss_tmp ~/footer
}
-# Run through files and create rss.xml
+# list files and create rss.xml
-if [[ -f $feedname ]]; then
- rm $feedname
+if [[ -f $filename ]]; then
+ rm "$filename"
fi
-touch $feedname
-mapfile -t postArray < <(ls -t "$postDir"/*.txt)
+
+touch "$filename"
+mapfile -t post_array < <(ls -t "$postdir"/*.txt)
postNum=0
-for posts in "${postArray[@]}"; do
+
+for posts in "${post_array[@]}"; do
((postNum+=1))
post=$posts
- fullTitle=$(head -n1 "$post" | sed 's/title://g')
- postdate=$(cat $post | sed -n '2p' | sed 's/date://g')
+ title=$(head -n1 "$post" | sed 's/title://g')
+ postdate=$(cat "$post" | sed -n '2p' | sed 's/date://g')
postname=${post##*/}
linkadd="$phloglink/$postname"
- description="$(cat $post | sed -n "/^$/,/^$/p" | head --lines 3) …"
- item "$post"
+ description="$(cat "$post" | sed -n "/^$/,/^$/p" | head --lines 3) …"
+ build_item "$post"
done
- combine
+
+ # put it all together
+ build_xml_file
+
exit
diff --git a/phlogthis b/phlogthis
index 08410e1..4dc7fd0 100755
--- a/phlogthis
+++ b/phlogthis
@@ -1,8 +1,7 @@
#!/bin/bash
# create phlog entry, rebuild gophermap
-# requires par for text formatting
-
+# requires the text formating utility 'par'
root=$HOME/src/gopher/phlog
@@ -22,17 +21,18 @@ dest="$root/$article"
micro +4:1 "$editfile"
-# article
-cat "$editfile" | par -jw67 >> "$article"
+# Justify article. This may fail if a
+# non-empty line doesn't contain spaces
+cat "$editfile" | par -jw67 > $article
-header="title:$title\ndate:$articledate\n\n"
+header="title:$title\ndate:$articledate\n$(printf '%*s' 66 | tr ' ' '-')\n\n"
sed -i "1s/^/$header/" $article
mv "$article" "$dest"
rm $editfile
echo "Article saved as $dest"
-# create gophermap
+# build gophermap
cd $root
@@ -43,7 +43,6 @@ echo "" >> gophermap
echo "0[Rss feed] /phlog/rss.xml spike.nagatha.fr 70" >> gophermap
echo "" >> gophermap
-
files=($(ls -1r *.txt))
for file in "${files[@]}"; do
echo -e "0$(head -n 1 $file | sed s/title://g)\t/phlog/$file\tspike.nagatha.fr\t70" >> gophermap