diff options
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/wiki/diary | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/tools/wiki/diary b/tools/wiki/diary index d7257de..06124bd 100755 --- a/tools/wiki/diary +++ b/tools/wiki/diary | |||
| @@ -1,20 +1,32 @@ | |||
| 1 | #! /bin/bash | 1 | #! /bin/bash |
| 2 | 2 | ||
| 3 | #read -p 'Year 20XX ? ' -r YEAR | 3 | pick_date() { |
| 4 | #echo | 4 | YEAR=${YEAR:-22} |
| 5 | YEAR=22 | ||
| 6 | 5 | ||
| 7 | while read -p 'Month? ' -r MONTH; do | 6 | while read -p 'Month? ' -r MONTH; do |
| 8 | [ -z $MONTH ] && MONTH=$(date +%m) | 7 | [ -z $MONTH ] && MONTH=$(date +%m) |
| 9 | MONTH=$(printf "%02d" $MONTH) | 8 | MONTH=$(printf "%02d" $MONTH) |
| 10 | date -d $YEAR-$MONTH-01 &>/dev/null && break | 9 | date -d $YEAR-$MONTH-01 &>/dev/null && break |
| 11 | done | 10 | done |
| 12 | 11 | ||
| 13 | while read -p 'Day? ' -r DAY; do | 12 | while read -p 'Day? ' -r DAY; do |
| 14 | [ -z $DAY ] && DAY=$(date +%d) | 13 | [ -z $DAY ] && DAY=$(date +%d) |
| 15 | DAY=$(printf "%02d" $DAY) | 14 | DAY=$(printf "%02d" $DAY) |
| 16 | date -d $YEAR-$MONTH-$DAY &>/dev/null && break | 15 | date -d $YEAR-$MONTH-$DAY &>/dev/null && break |
| 17 | done | 16 | done |
| 18 | 17 | ||
| 19 | FILE=~/vimwiki/diary/20$YEAR-$MONTH-$DAY.md | 18 | FILE=~/vimwiki/diary/20$YEAR-$MONTH-$DAY.md |
| 20 | vim -c 'Goyo' $FILE | 19 | vim -c 'Goyo' $FILE |
| 20 | } | ||
| 21 | |||
| 22 | add_entry() { | ||
| 23 | set -x | ||
| 24 | echo - "$@" >>~/vimwiki/diary/$(date --iso-8601).md | ||
| 25 | set +x | ||
| 26 | } | ||
| 27 | |||
| 28 | if [ $# -eq 0 ]; then | ||
| 29 | pick_date | ||
| 30 | else | ||
| 31 | add_entry "$@" | ||
| 32 | fi | ||