dotfiles/fish.configlink/functions/notes.fish

88 lines
2.7 KiB
Fish
Raw Normal View History

2020-07-27 17:00:26 +00:00
#!/usr/local/bin/fish
function notes --description "Notes functions"
set -gx NOTES_PATH $HOME/Documents/notes
2020-11-19 15:49:27 +00:00
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
2020-07-27 17:00:26 +00:00
function journal --description "Create today's journal"
2020-11-19 15:49:27 +00:00
note_dates
if [ -f $NOTES_PATH/$TODAY_NOTE.md ]
2020-07-27 17:00:26 +00:00
echo "Already exists."
else
2020-11-19 15:49:27 +00:00
note_header
2020-11-23 04:16:00 +00:00
printf $JOURNAL_HEADER > $NOTES_PATH/$TODAY_NOTE.md
2020-07-27 17:00:26 +00:00
echo "New journal added."
end
end
2020-07-31 13:28:30 +00:00
function today --description "Open today's journal"
2020-11-19 15:49:27 +00:00
set current_dir $PWD
cd $NOTES_PATH
note_dates
if [ -f $TODAY_NOTE.md ]
vim $TODAY_NOTE.md
2020-07-31 13:28:30 +00:00
else
2020-11-19 15:49:27 +00:00
note_header
2020-11-23 04:16:00 +00:00
printf $JOURNAL_HEADER > $TODAY_NOTE.md
2020-07-31 13:28:30 +00:00
echo "New journal added."
2020-11-19 15:49:27 +00:00
vim $TODAY_NOTE.md
2020-07-31 13:28:30 +00:00
end
2020-11-19 15:49:27 +00:00
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"
2020-07-31 13:28:30 +00:00
end
2020-11-15 14:47:29 +00:00
function note --description "Edit or create a note" -a "filename"
2020-11-19 15:49:27 +00:00
set current_dir $PWD
cd $NOTES_PATH
2020-11-15 14:47:29 +00:00
if test -n "$filename"
vim $filename.md
else
set file (ls | fzf)
if [ $status -eq 0 ]
vim $file
end
2020-07-31 13:28:30 +00:00
end
2020-11-19 15:49:27 +00:00
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
2020-07-31 13:28:30 +00:00
end
2020-08-02 14:28:55 +00:00
abbr -a sn 'syncnotes'
function syncnotes --description "Full git commit on notes"
2020-11-19 15:49:27 +00:00
set current_dir $PWD
cd $NOTES_PATH
2020-08-02 14:28:55 +00:00
git pull
git add -A
git commit -m "autosync"
git push
2020-11-19 15:49:27 +00:00
cd $current_dir
2020-08-02 14:28:55 +00:00
end
2020-07-27 17:00:26 +00:00
end