1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00
Files
til/Taskfile.yml
2025-10-25 11:50:22 -05:00

90 lines
2.3 KiB
YAML

version: '3'
vars:
NOTES_DIR: notes
NOTES_FILE: '{{.NOTES_DIR}}/NOTES.md'
EDITOR: '{{.EDITOR | default "nvim"}}'
tasks:
default:
desc: Show available commands
cmds:
- task --list
notes:sync:
desc: Sync latest changes from the notes submodule
cmds:
- git submodule update --remote {{.NOTES_DIR}}
- cd {{.NOTES_DIR}} && git checkout main
silent: false
notes:edit:
desc: Edit NOTES.md (syncs latest changes first)
deps: [notes:sync]
cmds:
- $EDITOR {{.NOTES_FILE}}
interactive: true
notes:push:
desc: Commit and push changes to notes submodule
dir: '{{.NOTES_DIR}}'
cmds:
- git add NOTES.md
- git diff --cached --quiet || git commit -m "Update notes - $(date '+%Y-%m-%d %H:%M')"
- git push
silent: false
notes:status:
desc: Check status of notes submodule
dir: '{{.NOTES_DIR}}'
cmds:
- git status
notes:save:
desc: Quick save - edit, commit, and push notes
cmds:
- task notes:edit
- task notes:push
notes:pull:
desc: Pull latest changes (alias for sync)
cmds:
- task notes:sync
notes:diff:
desc: Show uncommitted changes in notes
dir: '{{.NOTES_DIR}}'
cmds:
- git diff NOTES.md
notes:log:
desc: Show recent commit history for notes
dir: '{{.NOTES_DIR}}'
cmds:
- git log --oneline -10
notes:
desc: Interactive picker for notes tasks
cmds:
- |
TASK=$(task --list | grep "^\* notes:" | sed 's/^\* notes://' | sed 's/\s\+/ - /' | fzf --prompt="Select notes task: " --height=40% --reverse)
if [ -n "$TASK" ]; then
TASK_NAME=$(echo "$TASK" | awk '{print $1}' | sed 's/:$//')
task notes:$TASK_NAME
fi
interactive: true
silent: true
notes:help:
desc: Show available notes commands
cmds:
- echo "Available notes tasks:"
- echo " task notes:edit - Edit notes (syncs first)"
- echo " task notes:push - Commit and push changes"
- echo " task notes:save - Edit and push in one command"
- echo " task notes:sync - Pull latest changes"
- echo " task notes:status - Check git status"
- echo " task notes:diff - Show uncommitted changes"
- echo " task notes:log - Show recent commits"
silent: true