
J2
By:
2ck on
Apr 29th, 2012 | syntax:
Bash | size: 1.10 KB | hits: 28 | expires: Never
#!/bin/bash
if [ $1 = "-r" ] ; then
cat $HOME/journal/* | less
exit
fi
COLUMNS=80
center()
{
value=${#1}
if [[ $value -lt $COLUMNS ]] ; then
width=$(( ( $COLUMNS + $value ) / 2 ))
printf "%${width}s\n" "$1"
else
echo "$1"
fi
}
cd $HOME/journal
day=`date +%Y%m%d%H%M%S`
timestamp=`date --rfc-3339=seconds`
title="$@"
case $(( $RANDOM % 19)) in
0)
cowsay -f "eyes" $title >>dt
;;
1)
cowsay -f "tux" $title >>dt
;;
2)
cowsay -f "kitty" $title >>dt
;;
3)
cowsay -f "bong" $title >>dt
;;
*)
bar=`echo "$title" | sed s/./-/g`
center " +$bar+ " >> "dt"
center "-= $title =-" | tr '[a-z]' '[A-Z]' | cat >> "dt"
center " +$bar+ " >> "dt"
;;
esac
echo >>dt
echo >>dt
echo --$USER >>dt
echo $timestamp >>dt
vim -c "read dt" -c "set wrap" -c 'startinsert' +/^$/ $day
rm dt
if [ -e $day ] ; then
fold -s $day >tmp
mv tmp $day
fi
if [ -e .$day.sw? ] ; then
rm -v .$day.sw?
fi