journalDir="$(xdg-user-dir NOTES)/journal"case $1 in select) files="$(ls "$journalDir")" if [ -z "$files" ]; then echo "There are no entries." exit fi selected="$(echo "$files" | grep -v 'index.md$' | while IFS= read -r line; do echo "$(basename -s '.md' "$line") " $(cat "$journalDir/$line"); done | tac | fzf --ansi --delimiter=" " --preview="cat $journalDir/{1}.md" --bind="enter:become(echo {1})")" if [ "$selected" ]; then echo "$journalDir/$selected.md" else exit fi ;; edit) files="$(ls "$journalDir")" if [ -z "$2" ]; then if [ -z "$files" ]; then echo "There are no drafts." exit fi toEdit="$(journal select)" else toEdit="$journalDir/$2.md" fi timew start journal $EDITOR $toEdit timew stop journal ;; '') if [ ! -s "$journalDir/$(date '+%G-W%V-%u').md" ]; then export tasks=`cat "$(xdg-user-dir TEMPLATES)/journal/tasks/$(date '+%A' | tr '[:upper:]' '[:lower:]').md"` result=`esh "$(xdg-user-dir TEMPLATES)/journal/entry.md"` echo "$result" > "$(xdg-user-dir NOTES)/journal/$(date '+%G-W%V-%u').md" echo "[$(date '+%G-W%V-%u')]($(date '+%G-W%V-%u').md)" >> "$(xdg-user-dir NOTES)/journal/index.md" fi timew start journal $EDITOR "$(xdg-user-dir NOTES)/journal/$(date '+%G-W%V-%u').md" timew stop journal ;;esac