todoer: A Mailspring plugin
Automatically add an email to your local todo.txt when you star or label it.
todoer is a Mailspring plugin that adds emails to your todo.txt whenever you star them. The path to the todo file is configurable in a todoer tab under Preferences (Ctrl+Comma on Windows). The plugin acts completely locally--there's no sign-in to worry about! It even works with todo.txt files that are synced over a cloud service.
- Puts your actionable email threads into your to-do list for you!
- Works with a
todo.txt
anywhere in your file system (as long as it has a valid path). - Each to-do item created from the subject and date of the thread.
Download a release from the releases
page or clone the repository using
git clone https://github.com/jmanuel1/todoer.git
. If you downloaded a release,
unzip into a folder.
In the folder containing the release, run yarn build
. Next, open Mailspring.
In the menu, choose Developer > Install a Plugin...
. Then choose the folder
containing the plugin. Note that installation might freeze Mailspring for a
while.
Development should be done under Node 10.10+.
This project uses Yarn as the package manager and npm scripts for build scripts.
Make sure to run yarn
before you start development.
To build the plugin, use yarn build
. You should get a lib/main.js
file. To
test the build, use yarn test
.
Mailspring's API documentation is currently quite lacking, so there are additional notes to supplement Mailspring's docs.
Plugin code goes in lib/
, tests/specs go in spec/
.
lib/
subfolders:
email-to-todo/
: code that converts email objects to todo.txt objectssettings/
: code that manages the plugin user preferenceschanged-thread/
: code that grabs email threads upon any state change (like a star or labels) and fires events when the change is relevant to the plugintodo-txt/
: handles the creation of todo objects, reading and writing oftodo.txt
ui/
: user interface components
Please add tests with your changes. Tests are written with Jasmine.
- Stability improvements
- See issue #1 (partially fixed)
- Offer installable builds
- This may be difficult since, as far as I know, Mailspring doesn't have a user-friendly way of installing plugins yet