From 04e14174274d70fb69ed9bb1717ee80cf7f8ad65 Mon Sep 17 00:00:00 2001 From: Philip Wittamore Date: Sun, 28 Sep 2025 20:01:54 +0200 Subject: update --- phlogmap | 20 ++++++++++++++++++++ phlogrss | 20 +++++++++++--------- phlogthis | 19 +++++++++++++------ 3 files changed, 44 insertions(+), 15 deletions(-) create mode 100755 phlogmap 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 diff --git a/phlogrss b/phlogrss index 192b2c0..767b083 100755 --- a/phlogrss +++ b/phlogrss @@ -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 " gopher://spike.nagatha.fr/1/phlog en-us +©$buildyear Philip A. Wittamore © $buildyear Philip A. Wittamore - All Rights Reserved $builddate A Gopher phlog from Brittany, France @@ -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 diff --git a/phlogthis b/phlogthis index 3a7f045..bed1d7f 100755 --- a/phlogthis +++ b/phlogthis @@ -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 -- cgit v1.2.3