A collection of productivity-enhancing utilities for Evernote for Windows.
Developed for and tested with Evernote 5.0 on Windows 7.
Disclaimer: The implementation is tightly coupled to my broader Evernote-based GTD organizational system (TODO: link to description of my system). It is meant to enhance my own productivity and efficiency using my system, which means some personalized behaviours within the code. It should quite easy to modify my scripts to suit your needs, and anyone is encouraged to do so!
A fast way to create a new Evernote "action-note", no matter what's the active application, or whether Evernote application is open.
Call Launchy (Alt+Space) and start typing the "@action-context":
Once Launchy recognizes the context, hit "Tab" and type the note title:
Then hit "Enter" - a new note will be created in a pre-determined notebook, tagged automatically based on the chosen action context and title syntax, and opened in a separate window ready for further editing (or closing):
The quick-note-creation script supports special syntax in the title for overriding default parameters, like the destination notebook for the new note.
By prefixing the note title with /notebook:Target Notebook Name/
or /project:Project-specific Notebook Name/
:
The note will be created directly in the specified notebook:
The script supports "lazy notebook lookup", meaning it will try to select a notebook that matches the supplied string exactly, but if there's no match, it will also try:
- A maximal exact partial match: an existing notebook that contains the exact supplied string. if there are several such notebooks, it will select the one with the least unmatched strings before and after the matched string.
- A maximal word-overlap match: an existing notebook that has overlapping words with the supplied string. "words" are splitted on whitespace and "-". repeating words are counted only once. in case of multiple matched notebooks, it will select the one with the largest intersection.
All notebook lookups are case-insensitive.
Similarly, it is also possible to prefix the note title with /reminder:oct 3/
or /tickle:next sunday, 10am/
in order to create a note with a reminder associated to it.
The note will be created with a reminder set to that date at 9am (can be modified in the code):
The reminder will be set to that time as well:
The script supports natural language date-time specification using parsedatetime Python library,
so this is a dependency (install with pip install parsedatetime
).
Note: The reminder time is calculated based on the current timezone.
In case the script was unable to parse the date, it will not set a reminder, but will prepend the note title with "FIX REMINDER" so you can see it was unable to set a reminder.
Automate the process of initializing a new project in Evernote, where "project initialization" in my system includes:
- Creating a project-specific notebook in a notebook stack.
- Creating initial project notes in the new project notebook, based on a template.
Simply highlight in Evernote the target notebook-stack for the new project-notebook:
Call Launchy (Alt+Space) and start typing "enproject":
Hit "Tab" and type the name of the new project (which will also be the name of the project-specific notebook):
Hie "Enter", and behold the initialized project in the selected stack!
Alternatively, using AutoHotKey, you can bind a keyboard shortcut (e.g. "Ctrl+Alt+p", or "^!p") to the "CreateProject.exe" executable (which is a compiled version of the AutoHotKey script) to achieve something similar with AHK instead of Launchy.
Using the AHK method, you will type the project name in a popup dialog instead of the Launchy dialog:
This, of course, requires that AutoHotKey is installed, and a keyboard shortcut is defined like this:
#IfWinActive ahk_class ENMainFrame
^!p::
Run,"<package-dir>\AHK\CreateProject.exe"
#IfWinActive
Requirements:
- OS: Windows
- Evernote >= 5.0
- Python 2.7
- parsedatetime Python library
- Launchy (this probably works with other keyboard launchers, but the details will differ)
- Optional: AutoHotkey (needed if you want to change things, or bind custom keyboard shortcuts)
Steps:
-
Download the package (or clone it), and save it wherever you like on your computer (let's call that path
<package-dir>
). - Modify the scripts to fit your workflow and system (change default notebooks, tags, action contexts, note templates).
- Configure Launchy to index batch script files from the QuickNotes directory under
<package-dir>
: - Click "Rescan Catalog" and "OK" to finish the process.
That's it!
TODO