A kaleidoscope of features built for Foam.
I built these features to help my daily notes work better for me. My daily notes are formatted like this:
# $date
[[$weekly-note]]
[[$yesterday]] | [[$tomorrow]]
---
## TODO
## LogPersonally, I have most of the features here bound to a keyboard shortcut but this extension does not add these bindings for you.
I use Vim bindings. All of my Markdown specific commands are prefixed with <leader>m. Here are some of the bindings that I use:
<leader>mt:kaleidofoam.addTodo<leader>ml:kaleidofoam.addToLog<leader>mf:kaleidofoam.forwardTodo
Run KaleidoFoam: Open Today to open your daily note.
Command: kaleidofoam.openToday
Opens todays daily note and generates notes for the week.
kaleidofoam.customSections- Add custom sections you would like to include in your daily notes.
Command: kaleidofoam.addToLog
Add a timestamped entry to the "Log" section.
Example:
## Log
- 10:42 Worked on writing up the README for KaleidoFoamCommand: kaleidofoam.addTodo
Adds a todo item to the "TODO" section.
Example:
## TODO
- [ ] Write up documentation for KaleidoFoamCommand: kaleidofoam.generateDailyEdgeLinks
Adds links to the weekly, yesterday, and tomorrow notes for the current daily note.
Example:
[[week-of-2022-02-20_2022-02-26]]
[[2022-02-20]] | [[2022-02-22]]Commands: kaleidofoam.openYesterday, kaleidofoam.openTomorrow
Opens yesterday or tomorrows note relative to the current note.
Command: kaleidofoam.forwardTodo
Forwards a note to a future date. Provides a dropdown recommending days in the next week.
Example:
- [>] Write up documentation for KaleidoFoam [[2022-02-22]]Snippets for referencing days in the last week.
/last-sunday/last-monday/last-tuesday/last-wednesday/last-thursday/last-friday/last-saturday
Allows you to schedule notifications for a given todo item.
Example:
- [ ] 11:00 | Check emailBy default, this will send a notification at 11:00 telling you to check your email.
kaleidofoam.notifications- Configure how notifications are presented
system(default): Usesnode-notifierto send system level notifications. Tested on Windowsvscode: Show notifications inside of VS Codenone: Disable notifications
kaleidofoam.minutesBeforeNotifications- Set the number of minutes before the listed time to send the notification. Defaults to 0
Command: kaleidofoam.toggleTodo
Toggles a todo as complete or incomplete. Adds and removes a timestamp.
Example:
- [ ] Check emailbecomes
- [x] Check email // 10:55Commands:
kaleidofoam.toggleTodoTag.focuskaleidofoam.toggleTodoTag.urgentkaleidofoam.toggleTodoTag.optional
Toggles tags on a todo item.
Example:
- [ ] Check out that new VS Code extension @optionalCommand: kaleidofoam.toggleWordWrapColumn
Toggles the word wrap column width between 80 and 120 because that's what I like. This would be pretty easy to make configurable if anyone wants to submit a PR 😉
Commands:
kaleidofoam.openLastWeek,kaleidofoam.openThisWeek,kaleidofoam.openNextWeek,
Generates and opens a weekly note. Contains references to all of the daily notes for that week and contains a TODO section.
Requires git cliff