diff --git a/fish.configlink/functions/notes.fish b/fish.configlink/functions/notes.fish index faa2884..5334b18 100644 --- a/fish.configlink/functions/notes.fish +++ b/fish.configlink/functions/notes.fish @@ -2,39 +2,59 @@ function notes --description "Notes functions" + set -g NOTES_PATH $HOME/Documents/notes + + function note_dates + set -g TODAY_NOTE (date +"%Y-%m-%d_%a") + set -g YESTERDAY_NOTE (date -jv "-1d" +"%Y-%m-%d_%a") + set -g TOMORROW_NOTE (date -jv "+1d" +"%Y-%m-%d_%a") + end + + function note_header + set -g CURRENT_WEATHER (curl -s "https://wttr.in/?format=1") + set -g JOURNAL_HEADER "[[$YESTERDAY_NOTE]] | [[home]] | [[$TOMORROW_NOTE]]\n\n---\n\n$CURRENT_WEATHER\n\n# Today's Goals\n\n\n# Journal\n\n" + end + function journal --description "Create today's journal" - set today (date -j +"%Y-%m-%d_%a") - set today_journal $HOME/Documents/notes/$today.md - if [ -f $today_journal ] + note_dates + if [ -f $NOTES_PATH/$TODAY_NOTE.md ] echo "Already exists." else - set yesterday (date -jv "-1d" +"%Y-%m-%d_%a") - set tomorrow (date -jv "+1d" +"%Y-%m-%d_%a") - set weather (curl -s "https://wttr.in/?format=1") - printf "[[$yesterday|Previous]] - [[calendar|Index]] - [[$tomorrow|Next]]\n\n---\n\n$weather\n\n# Tasks\n\n![[🎯 Active Tasks]]\n# Log\n\n\n# Communication\n\n---\n\n# Meetings\n\n" > $today_journal + note_header + echo $JOURNAL_HEADER > $NOTES_PATH/$TODAY_NOTE.md echo "New journal added." end end function today --description "Open today's journal" - cd $HOME/Documents/notes - set today (date -j +"%Y-%m-%d_%a") - set today_journal $today.md - if [ -f $today_journal ] - vim $today_journal + set current_dir $PWD + cd $NOTES_PATH + note_dates + if [ -f $TODAY_NOTE.md ] + vim $TODAY_NOTE.md else - set yesterday (date -jv "-1d" +"%Y-%m-%d_%a") - set tomorrow (date -jv "+1d" +"%Y-%m-%d_%a") - set weather (curl -s "https://wttr.in/?format=1") - printf "[[$yesterday|Previous]] - [[calendar|Index]] - [[$tomorrow|Next]]\n\n---\n\n$weather\n\n# Tasks\n\n![[🎯 Active Tasks]]\n# Log\n\n\n# Communication\n\n---\n\n# Meetings\n\n" > $today_journal + note_header + echo $JOURNAL_HEADER > $TODAY_NOTE.md echo "New journal added." - vim $today_journal + vim $TODAY_NOTE.md end - cd - + cd $current_dir + end + + function meeting --description "Describe a meeting" -a "name" + note_dates + set today_date (date -j +"%Y-%m-%d") + set time (date +"%I:%M%p" | tr '[:upper:]' '[:lower:]') + set meeting_name (echo $name | tr ' ' '-' | tr '[:upper:]' '[:lower:]') + set meeting_note $today_date-$meeting_name + printf "[[$TODAY_NOTE]] | #meeting\n\n# $name\n\n---\n\n" > $NOTES_PATH/$meeting_note.md + printf "\n\n---\n\n$time - [[$meeting_note]]\n\n---\n\n" >> $NOTES_PATH/$TODAY_NOTE.md + open "obsidian://open?vault=notes&file=$meeting_note" end function note --description "Edit or create a note" -a "filename" - cd $HOME/Documents/notes + set current_dir $PWD + cd $NOTES_PATH if test -n "$filename" vim $filename.md else @@ -43,17 +63,25 @@ function notes --description "Notes functions" vim $file end end - cd - + cd $current_dir + end + + abbr -a qn 'quicknote' + function quicknote --description "Write a quick note" -a "note" + note_dates + set time (date +"%I:%M%p" | tr '[:upper:]' '[:lower:]') + printf "\n\n---\n\n#### [[$TODAY_NOTE]] at $time\n$note\n" >> $NOTES_PATH/quick-notes.md end abbr -a sn 'syncnotes' function syncnotes --description "Full git commit on notes" - cd $HOME/Documents/notes + set current_dir $PWD + cd $NOTES_PATH git pull git add -A git commit -m "autosync" git push - cd - + cd $current_dir end end