diff options
author | Guangxiong Lin <[email protected]> | 2022-11-12 14:12:36 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-11-12 14:12:36 +0800 |
commit | 8671b7b71a4b44db9144eaeb603ec94212cb94b3 (patch) | |
tree | 6a8a6f841570c8721b7704165f8d6e9023f34132 /wd | |
parent | 35970f2cf022d5d475a92e3909ad311b38868c65 (diff) | |
download | wd-8671b7b71a4b44db9144eaeb603ec94212cb94b3.tar.gz wd-8671b7b71a4b44db9144eaeb603ec94212cb94b3.tar.bz2 wd-8671b7b71a4b44db9144eaeb603ec94212cb94b3.zip |
Refactor
Diffstat (limited to 'wd')
-rwxr-xr-x | wd | 63 |
1 files changed, 46 insertions, 17 deletions
@@ -3,7 +3,15 @@ VERSION="0.0.2" PROGRAM="$(basename $0)" -cmd_wd_usage () { +[ -f "${WDRC:-"$HOME/.wdrc"}" ] && source "${WDRC:-"$HOME/.wdrc"}" + +WD_NOTES_DIR=${WD_NOTES_DIR:-"$HOME/notes"} +WD_JOURNALS_DIR=${WD_JOURNALS_DIR:-"$WD_NOTES_DIR/journals"} + +year=$(date +%Y) +week_number=$(date +%W) + +cmd_usage () { cat <<-_EOF Usage: @@ -14,32 +22,53 @@ _EOF exit 0 } -cmd_wd_version () { +cmd_version () { echo $VERSION exit 0 } -setup_env () { +cmd_edit () { + cd "$WD_NOTES_DIR" && $EDITOR "$WD_NOTES_DIR/index.md" - local wdrc=${WDRC:-"$HOME/.wdrc"} - if [ ! -f "$wdrc" ]; then - touch $wdrc - fi - source $wdrc + exit 0 +} - export WD_NOTES_DIR=${WD_NOTES_DIR:-"$HOME/notes"} - export WD_JOURNALS_DIR=${WD_JOURNALS_DIR:-"$WD_NOTES_DIR/journals"} +cmd_journal () { + local weekly_journal_title="# Week $week_number $year" + local weekly_journal_subtitle="## $(date '+%Y-%m-%d %A')" -} + local monthly_journal_title="# $(date '+%B %Y')" + local monthly_journal_subtitle="## [Week $week_number $year](week$week_number.md)" + + local weekly_journal="$WD_JOURNALS_DIR/$year/week$week_number.md" + local monthly_journal="$WD_JOURNALS_DIR/$year/$(date '+%Y-%m').md" -setup_env + local file_to_edit="$weekly_journal" + local file_title="$weekly_journal_title" + local file_subtitle="$weekly_journal_subtitle" + + case "$1" in + --monthly|-m) shift; + file_to_edit="$monthly_journal" + file_title="$monthly_journal_title" + file_subtitle="$monthly_journal_subtitle" + ;; + esac + + [ ! -f "$file_to_edit" ] && echo "$file_title" > "$file_to_edit" + grep -qF "$file_subtitle" "$file_to_edit" || echo "$file_subtitle" >> "$file_to_edit" + + cd "$WD_NOTES_DIR" && $EDITOR "$file_to_edit" + + exit 0 +} case "$1" in - help|--help|-h) shift; cmd_wd_usage "$@";; - version|--version|-v) shift; cmd_wd_version "$@";; - journal|j) shift; "$PROGRAM-journal" "$@";; - edit|e) shift; "$PROGRAM-edit" "$@";; - *) cmd_wd_usage "$@";; + help|--help|-h) shift; cmd_usage "$@";; + version|--version|-v) shift; cmd_version "$@";; + journal|j) shift; cmd_journal "$@";; + edit|e) shift; cmd_edit "$@";; + *) cmd_usage "$@";; esac exit 0 |