#!/usr/bin/env bash # create phlog entry # requires the text formating utility 'par' # editor is micro pushd "$(pwd)" || exit root="$HOME/src/gopher/phlog" remoteroot="/srv/gopher/phlog" mkdir -p "$HOME/.tmp" cd "$HOME/.tmp" || exit editfile="phlogtmp.txt" articledate="$(date -R)" filedate="$(date +%Y-%m-%d-%H-%I)" article="/tmp/gophermap.tmp" read -rp "Enter title: " title filetitle=$(echo "$title" | sed "s/ /-/g" | sed "s/[^A-Za-z0-9._-]//g") dirname="$filedate-$filetitle" # make local and remote dirs mkdir "$root/$dirname" echo "creating remote directory..." ssh spike mkdir "$remoteroot/$dirname" # edit text micro +4:1 "$editfile" # Justify article. This may fail if a # non-empty line doesn't contain spaces cat "$editfile" | par -jw67 > $article || cat "$editfile" > $article 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 clear cat "$dest" echo " " read -rp "Do you want to edit this text? : " choix1 if [ "$choix1" != "n" ] ; then clear micro "$dest" fi echo "Article saved as $dest" read -rp "Run phlogmap & phlogrss & gosend? ; " choix2 if [ "$choix2" != "n" ] ; then phlogmap; phlogrss ; gosend fi popd || exit