Git Product home page Git Product logo

foamvscode's Introduction

KaleidoFoam

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

## Log

Personally, 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

Getting Started

Run KaleidoFoam: Open Today to open your daily note.

Features

Daily Note

Command: kaleidofoam.openToday

Opens todays daily note and generates notes for the week.

Configuration

  • kaleidofoam.customSections
    • Add custom sections you would like to include in your daily notes.

Add to Log

Command: kaleidofoam.addToLog

Add a timestamped entry to the "Log" section.

Example:

## Log
- 10:42 Worked on writing up the README for KaleidoFoam

Add Todo

Command: kaleidofoam.addTodo

Adds a todo item to the "TODO" section.

Example:

## TODO
- [ ] Write up documentation for KaleidoFoam

Daily Edge Links

Command: 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]]

Open Yesterday/Tomorrow

Commands: kaleidofoam.openYesterday, kaleidofoam.openTomorrow

Opens yesterday or tomorrows note relative to the current note.

Forward Todo

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]]

Last Week Snippets

Snippets for referencing days in the last week.

  • /last-sunday
  • /last-monday
  • /last-tuesday
  • /last-wednesday
  • /last-thursday
  • /last-friday
  • /last-saturday

Scheduled Notifications

Allows you to schedule notifications for a given todo item.

Example:

- [ ] 11:00 | Check email

By default, this will send a notification at 11:00 telling you to check your email.

Configuration

  • kaleidofoam.notifications
    • Configure how notifications are presented
    • system (default): Uses node-notifier to send system level notifications. Tested on Windows
    • vscode: Show notifications inside of VS Code
    • none: Disable notifications
  • kaleidofoam.minutesBeforeNotifications
    • Set the number of minutes before the listed time to send the notification. Defaults to 0

Toggle Todo

Command: kaleidofoam.toggleTodo

Toggles a todo as complete or incomplete. Adds and removes a timestamp.

Example:

- [ ] Check email

becomes

- [x] Check email // 10:55

Toggle Todo Tags

Commands:

  • kaleidofoam.toggleTodoTag.focus
  • kaleidofoam.toggleTodoTag.urgent
  • kaleidofoam.toggleTodoTag.optional

Toggles tags on a todo item.

Example:

- [ ] Check out that new VS Code extension @optional

Toggle Word Wrap Column

Command: 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 ๐Ÿ˜‰

Weekly Notes

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.

Development

Generating the Changelog

Requires git cliff

foamvscode's People

Contributors

dstengle avatar mcluck90 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.