After working on a script to meet some very specific needs of mine, I realized that I could adapt my work to be useful in a wider range of use cases. I thought I’d post my plan here to get some feedback before creating this script. Here’s what I had in mind…
This script would insert at the selection point an outline based on a template stored in a separate document. That template can include regular static items as well as the following special tags:
@copyRoutine- creates a list depending on the day of the week.
- It grabs these lists from a special “Routines” document that supports the following day-dependent project lists: ‘Default’, ‘Weekday’, ‘Weekend’, ‘Sunday’, ‘Monday’, Tuesday’, etc.
@copySearch('query')- creates a list by copying the body text of all items matching the provided query (in the document from which the script was called).
@copySearchDeep('query')- Same as above, but also copies the children of the items matching the search query.
@copyEvents('query', 'Formatted Text') - creates a list from Calendar.app events that match the provided query.
- ‘Formatted text’ specifies the format of the body text for the item created for each event. Here, the special keywords SUMMARY, DATE, START, END, CALENDAR would be replaced by the corresponding event property. For example, if you provide “(START) SUMMARY @remind(START - 20 minutes)”, it would output something like “(10:00 AM) Econ 101 Lecture @remind(10:00 AM - 20 minutes)”.
@copyReminders('query', 'Formatted text')- Creates a list from Reminders.app tasks that match the provided query.
- ‘Formatted text’ behaves as above, but uses the keywords NAME, BODYTEXT, LIST, DUEDATE, REMINDERDATE.
This should provide a lot of flexibility and create a nice general way to quickly create lists to meet your own specific needs. Would you find this useful? Think the above plan could be improved? Any other special
@copy... tags that I should include?