2ck

J2

2ck
Apr 29th, 2012
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.10 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. if [ $1 = "-r" ] ; then
  4.     cat $HOME/journal/* | less
  5.     exit
  6. fi
  7.  
  8. COLUMNS=80
  9. center()
  10. {
  11.      value=${#1}
  12.      if [[ $value -lt $COLUMNS ]] ; then
  13.        width=$(( (  $COLUMNS + $value ) / 2 ))
  14.        printf "%${width}s\n"  "$1"
  15.      else
  16.         echo "$1"
  17.      fi
  18. }
  19.  
  20. cd $HOME/journal
  21.  
  22. day=`date +%Y%m%d%H%M%S`
  23. timestamp=`date --rfc-3339=seconds`
  24.  
  25. title="$@"
  26. case $(( $RANDOM % 19)) in
  27.     0)
  28.         cowsay -f "eyes" $title >>dt
  29.         ;;
  30.     1)
  31.         cowsay -f "tux" $title >>dt
  32.         ;;
  33.     2)
  34.         cowsay -f "kitty" $title >>dt
  35.         ;;
  36.     3)
  37.         cowsay -f "bong" $title >>dt
  38.         ;;
  39.     *)
  40.         bar=`echo "$title" | sed s/./-/g`
  41.         center "  +$bar+  " >> "dt"
  42.         center "-= $title =-" | tr '[a-z]' '[A-Z]' | cat >> "dt"
  43.         center "  +$bar+  " >> "dt"
  44.         ;;
  45. esac
  46. echo >>dt
  47. echo >>dt
  48. echo --$USER >>dt
  49. echo $timestamp >>dt
  50.  
  51. vim -c "read dt" -c "set wrap" -c 'startinsert' +/^$/ $day
  52. rm dt
  53.  
  54. if [ -e $day ] ; then
  55.     fold -s $day >tmp
  56.     mv tmp $day
  57. fi
  58.  
  59. if [ -e .$day.sw? ] ; then
  60.     rm -v .$day.sw?
  61. fi
Advertisement
Add Comment
Please, Sign In to add comment