Variable names can contain spaces and you can have as many as you wish (though must all be in the same paragraph of the project's note for example, $variable1 $another variable $the last variable would declare three variables for use in the script). By default, you declare a basic variable by writing that variables name, preceeded by the "$" sign, anywhere in the template project's note (on the first run the script will prompt you to select an alternate variable symbol, if you wish). Note that all variables are case-insensitive.īasic Variables are the most important part of the script. This is an ideal time to use a basic variable. For example, a template for contacting someone may use a person's name for a number of tasks/ notes/ context names, and the name to use may change for each project instance. You can use variables in your script to have the script prompt you for a string that will be used in multiple places of the new template instance. On first run, the script will ask you to choose a variable symbol and, if it detects that you have projects already using Curt Clifton's OmniFocus template syntax (which were a big inspiration for this project), it will offer to convert these to this script's syntax. The alert indicating the end of the script can be clicked to quickly show you the new instance of your template project.
![subtract two dates keyboard maestro subtract two dates keyboard maestro](https://www.techbout.com/wp-content/uploads/2018/09/subtract-dates-excel.png)
If you have Growl installed, a Growl alert will come up when you start the script and when you finish it. If there are any variables or "ask" statements (discussed later) the script will prompt you to provide any additional input required. It will first ask you which project inside the template folder you would like to create a new instance of, then ask in which folder you would like to put the new project instance. When the script runs, it does a number of things. If it doesn't find an obvious template folder, it will ask you which folder to use. This folder can be Dropped, and the actual template projects can be On Hold (the script will automatically switch the new template instances to Active). The script looks for a folder that contains the word "Template" in the name, and assumes that this is the folder from which you want to select template projects. You need a few things before the script will work as intended. The script allows you to create templates as simple or complex as you need them to be, and to quickly create instances of those templates so you can get back to what's important. This script is an effort to reduce one of the largest sources of friction remaining in my OmniFocus setup: maintaining and creating projects that don't recur on even intervals, but occur frequently enough that their planning and capture becomes a time sink. A central tenet of "good" productivity tools (as opposed to those we simply indulge in for their own sake, the "productivity porn") is that they reduce friction. I and countless others rely on it every day to manage increasingly hectic lives and complex, multi-facetted projects.
![subtract two dates keyboard maestro subtract two dates keyboard maestro](https://mechanicalkeyboards.com/shop/images/products/large_KBP-V60R-PS--DO_main.jpg)
OmniFocus is an incredible piece of software. If you need help understanding the features of this script, you can watch a video of the script in action to get you up to speed. You might be interested in this fork instead, which is more actively being worked on. Further, I no longer use OmniFocus (nothing against it, my needs/ tastes just changed). I no longer actively maintain this script, and haven't for some time.