diff options
-rwxr-xr-x | phlogmap | 20 | ||||
-rwxr-xr-x | phlogrss | 20 | ||||
-rwxr-xr-x | phlogthis | 19 |
3 files changed, 44 insertions, 15 deletions
diff --git a/phlogmap b/phlogmap new file mode 100755 index 0000000..211eb28 --- /dev/null +++ b/phlogmap @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# build gophermap + +cd $HOME/src/gopher/phlog + +echo "+-----------------------------------+" > gophermap +echo "| Phil's Phlog |" >> gophermap +echo "+-----------------------------------+" >> gophermap +echo "" >> gophermap +echo "0[Rss feed] /phlog/rss.xml spike.nagatha.fr 70" >> gophermap +echo "" >> gophermap + +dirs=($(ls -dr */)) +for dir in "${dirs[@]}"; do + dt=$(echo $dir| cut -c 1-10) + title="$(head -n 1 $dir/gophermap)" + echo -e "1$dt $title\t/phlog/$dir\tspike.nagatha.fr\t70" >> gophermap +done + +exit 0 @@ -4,9 +4,9 @@ phloglink="gopher://spike.nagatha.fr/0/phlog" description="Phil's Phlog" -rsslink=gopher://spike.nagatha.fr/phlog/rss.xml +rsslink=gopher://spike.nagatha.fr/0/phlog/rss.xml filename=$HOME/src/gopher/phlog/rss.xml -postdir=$HOME/src/gopher/phlog +phlogroot=$HOME/src/gopher/phlog builddate=$(date --iso-8601=ns) buildyear=$(date +%Y) @@ -19,6 +19,7 @@ echo "<channel> <link>gopher://spike.nagatha.fr/1/phlog</link> <atom:link href='$rsslink' rel='self' type='application/rss+xml' /> <language>en-us</language> +<copyright>©$buildyear Philip A. Wittamore</copyright> <copyright>© $buildyear Philip A. Wittamore - All Rights Reserved</copyright> <lastBuildDate>$builddate</lastBuildDate> <description>A Gopher phlog from Brittany, France</description> @@ -57,17 +58,18 @@ if [[ -f $filename ]]; then fi touch "$filename" -mapfile -t post_array < <(ls -t "$postdir"/*.txt) +mapfile -t dir_array < <(ls -dr */) postNum=0 -for posts in "${post_array[@]}"; do +for dir in "${dir_array[@]}"; do ((postNum+=1)) - post=$posts - title=$(head -n1 "$post" | sed 's/title://g') - postdate=$(cat "$post" | sed -n '2p' | sed 's/date://g') + post=$dir + post="${dir//\//}" + title=$(head -n1 "$post/gophermap") + postdate=$(cat "$post/gophermap" | sed -n '2p') postname=${post##*/} - linkadd="$phloglink/$postname" - description="$(cat "$post" | sed -n "/^$/,/^$/p" | head --lines 3) …" + linkadd="$phloglink/$post/gophermap" + description="$(cat "$post/gophermap" | sed -n "/^$/,/^$/p" | head --lines 3) …" build_item "$post" done @@ -4,6 +4,7 @@ # requires the text formating utility 'par' root=$HOME/src/gopher/phlog +remoteroot=/srv/gopher/phlog mkdir -p $HOME/.tmp pushd "$(pwd)" @@ -11,13 +12,16 @@ cd $HOME/.tmp || exit editfile="phlogtmp.txt" articledate="$(date -R)" filedate="$(date +%Y-%m-%d-%H-%I)" +article="/tmp/gophermap.tmp" read -r -p "Enter title: " title filetitle=$(echo $title | sed 's/ /-/g' | sed 's/[^A-Za-z0-9._-]//g') -article=$filedate-$filetitle.txt +dirname="$filedate-$filetitle" + +mkdir $root/$dirname +#ssh spike mkdir $remoteroot/$dirname -dest="$root/$article" micro +4:1 "$editfile" @@ -25,9 +29,10 @@ micro +4:1 "$editfile" # non-empty line doesn't contain spaces cat "$editfile" | par -jw67 > $article -header="title:$title\ndate:$articledate\n$(printf '%*s' 66 | tr ' ' '-')\n\n" +header="$title\n$articledate\n+$(printf '%*s' 65 | tr ' ' '-')+\n\n" sed -i "1s/^/$header/" $article +dest="$root/$dirname/gophermap" mv "$article" "$dest" rm $editfile echo "Article saved as $dest" @@ -43,9 +48,11 @@ 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 +dirs=($(ls -dr */)) +for dir in "${dirs[@]}"; do + dt=$(echo $dir| cut -c 1-10) + tt="$(head -n 1 $dir/gophermap)" + echo -e "1$dt $tt\t/phlog/$dir\tspike.nagatha.fr\t70" >> gophermap done popd |