├── .gitignore ├── .markdownlint.json ├── Introduction.md ├── README.md ├── TaskPaper ├── Configurations │ ├── searches.taskpaper │ └── tags.taskpaper └── StyleSheets │ └── style.less └── sample.taskpaper /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | TaskPaper/.DS_Store 3 | .DS_Store 4 | .DS_Store 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "MD013": false, 3 | "default": true, 4 | "MD005": { "indent": 4 }, 5 | "MD007": { "indent": 4 } 6 | } -------------------------------------------------------------------------------- /Introduction.md: -------------------------------------------------------------------------------- 1 | 2 | # Merlin's TaskPaper Intro 3 | 4 | - Step Zero 5 | // TODO Why I like and often recommend TaskPaper 6 | - who this probably is and isn't for 7 | - First Steps 8 | - get the Mac app // TODO link to Mac app 9 | - read about getting started // TODO link to Getting Started 10 | - pick a way to sync between devices 11 | - Learn these key commands[^1] 12 | - "Tag with…Done" - **`CMD-D`** 13 | - "Archive @done items" - **`CMD-SHIFT-A`** 14 | - "Move to Project…" - **`CMD-/`** 15 | - "Tag with…" - **`CMD-T`** 16 | - Best Practices 17 | - keep it clean, keep it simple 18 | - limitations are _good_ 19 | - this is a pocket, not an attic 20 | - (and most definitely _not_ a storage shed) 21 | - consider giving your tags names starting with alphabetically unique letters 22 | - allows way faster, no-look autocomplete 23 | - // TODO put more Best Practices here 24 | - Becoming a power user 25 | - learn examples of handy Sidebar and Editor searches 26 | - add your most used tags and searches as defaults in the "Configurations" folder 27 | - use parenthesis to make sub-tags 28 | - e.g. `@errands(Apple Store)` will then nest underneath `@errands` 29 | - for occasional enhanced focus, use multiple windows 30 | - learn folding to collapse or expand items 31 | - acquaint yourself with the contents under and commands of the "Outline" menu 32 | - Later nice-to-haves 33 | - adapt a `.less` style sheet to your tastes and to visually highlight your most important tags 34 | - RECC: start with an existing style sheet 35 | - to learn how it works 36 | - to save yourself a huge amount of effort 37 | - // TODO put more sexy, later-on stuff here 38 | 39 | [^1]: I'm _pretty_ sure these are the default key commands. But, if you ever have any doubt (as ever) just type `CMD-SHIFT-/` to bring up the Help menu to search all the menu items. 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # taskpaper-config 2 | Merlin's TaskPaper Configuration Files plus a Sample Document 3 | 4 | ## What This Is 5 | 6 | These are some of my significant TaskPaper files. They might be useful in helping you get started with being a TaskPaper power user with a minimum of fussing and fiddling. 7 | 8 | ### 📔 Sample Document 9 | 10 | **`sample.taskpaper`** is a makebelieve, redacted version of a typical TaskPaper document as I would use it. 11 | 12 | ### 📂 Config Files 13 | 14 | One is a Style Sheet (**`style.less`**), while the others provide "Set It and Forget It" defaults that I like to have available in every TaskPaper document. Any and all can be edited to suit your needs. 15 | 16 | * **`searches.taskpaper`** is the equivalent of "Saved Searches" or, if you like "Smart Tasklists." Not dissimilar to a _very_ simple version of what OmniFocus calls a _perspective_. 17 | * **`tags.taskpaper`** ensures that all my favorite "tags" (think: GTD contexts) should be available and autofillable in all my TaskPaper documents. 18 | 19 | ----- 20 | 21 | ## To Install Config Files 22 | 23 | 1. **PLEASE** proceed carefully, know what you're doing, and please make backups before you do or change anything 24 | 1. The files in this `TaskPaper` folder go hierarchically in: 25 | `/Users/YOURNAME/Library/Application Support/TaskPaper/` 26 | 3. Thusly: 27 | * `/Users/YOURNAME/Library/Application Support/TaskPaper/Configurations/searches.taskpaper` 28 | * `/Users/YOURNAME/Library/Application Support/TaskPaper/Configurations/tags.taskpaper` 29 | 30 | ----- 31 | 32 | -------------------------------------------------------------------------------- /TaskPaper/Configurations/searches.taskpaper: -------------------------------------------------------------------------------- 1 | This is a configuration outline. Use it to store searches that you want to show in the sidebar for all TaskPaper documents. 2 | 3 | Searches: 4 | All - Not Done @search(project *//not @done) 5 | House @search(@type = task and @house and not @done) 6 | Office @search(@type = task and @office and not @done) 7 | Errands @search(@type = task and @errands and not @done) 8 | House - Next Actions @search(@type = task and @house//not @done) 9 | Office - Next Actions @search(@type = task and @office//not @done) 10 | Due Soon @search(@due >=[d] today) 11 | Overdue @search(@due <=[d] today) 12 | Not Yet @search(@start >=[d] today) 13 | Focus @search(@type = task and @focus and not @done) -------------------------------------------------------------------------------- /TaskPaper/Configurations/tags.taskpaper: -------------------------------------------------------------------------------- 1 | This is a configuration outline. Use it to store tags that you want to show (or always exclude) in the sidebar for all TaskPaper documents. 2 | 3 | Include Tags: @today @house @errands @office @wo @amazon @buyonline @ios @focus @mac 4 | Exclude Tags: @search @done 5 | -------------------------------------------------------------------------------- /TaskPaper/StyleSheets/style.less: -------------------------------------------------------------------------------- 1 | @font-family: -apple-system, "San Francisco", "Lucida Grande", sans-serif; 2 | @nbmix: 40%; 3 | 4 | .nbteal() { 5 | color: #2e6765; 6 | background-color: mix(#8fe6d3, #ffffff, @nbmix); 7 | } 8 | .nbyellow() { 9 | color: #605c2b; 10 | background-color: mix(#e9d92b, #ffffff, @nbmix); 11 | } 12 | .nbgreen() { 13 | color: #2f5d20; 14 | background-color: mix(#9aff42, #ffffff, @nbmix); 15 | } 16 | .nbbrown() { 17 | color: #493934; 18 | background-color: mix(#ada389, #ffffff, @nbmix); 19 | } 20 | .nbred() { 21 | color: #603546; 22 | background-color: mix(#da919b, #ffffff, @nbmix); 23 | } 24 | .nbblue() { 25 | color: #3e6566; 26 | background-color: mix(#78d0c9, #ffffff, @nbmix); 27 | } 28 | .nbviolet() { 29 | color: #1a0340; 30 | background-color: mix(#ae7dff, #ffffff, @nbmix); 31 | } 32 | 33 | item[data-type="note"] { 34 | font-style: italic; 35 | font-size: smaller; 36 | color: gray; 37 | } 38 | item[data-type="project"] { 39 | font-weight: bold; 40 | } 41 | 42 | 43 | // BEGIN Tag Styles 44 | 45 | // House! 46 | item[data-house] { 47 | & > run[content] { 48 | background-color: #eee; 49 | color: orange; 50 | } 51 | } 52 | 53 | // Office! 54 | item[data-office] { 55 | color: #eee; 56 | & > run[content] { 57 | background-color: #eee; 58 | color: blue; 59 | } 60 | } 61 | 62 | // Errands! 63 | item[data-errands] { 64 | & > run[content] { 65 | color: purple; 66 | background-color: #ccc; 67 | } 68 | } 69 | 70 | 71 | // Buyonline! 72 | item[data-buyonline] { 73 | & > run[content] { 74 | color: fuchsia; 75 | background-color: #ccc; 76 | } 77 | } 78 | 79 | 80 | // Internet! 81 | item[data-net] { 82 | & > run[content] { 83 | color: purple; 84 | background-color: #ccc; 85 | } 86 | } 87 | 88 | // iOS! 89 | item[data-ios] { 90 | & > run[content] { 91 | color: maroon; 92 | background-color: #ccc; 93 | } 94 | } 95 | 96 | 97 | 98 | 99 | 100 | // END Tag Styles 101 | 102 | 103 | 104 | 105 | // priority + focus 106 | item[data-i], 107 | item[data-ii], 108 | item[data-iii], 109 | item[data-focus] { 110 | & > run[content] { 111 | background-color: #bf363b; 112 | color: #ffffff; 113 | } 114 | } 115 | item[data-i][data-done], 116 | item[data-ii][data-done], 117 | item[data-iii][data-done] { 118 | & > run[content] { 119 | text-strikethrough-color: #ffffff; 120 | } 121 | } 122 | item[data-ii], 123 | item[data-iii], 124 | item[data-focus] { 125 | & > run[content] { 126 | font-weight: bold; 127 | } 128 | } 129 | item[data-iii] { 130 | font-size: @user-font-size * 1.25; 131 | line-height-multiple: 1.5; 132 | } 133 | item[data-today] { 134 | color: #605c2b; 135 | background-color: mix(#e9d92b, #ffffff, @nbmix); 136 | & > run[tag] { 137 | color: mix(#605c2b, #e9d92b, 50%); 138 | } 139 | &[data-done] { 140 | & > run[content] { 141 | text-strikethrough-color: #605c2b; 142 | } 143 | } 144 | } 145 | 146 | item > run[tag="data-fb"][tag], 147 | item > run[tag="data-fi"][tag], 148 | item > run[tag="data-fu"][tag], 149 | item > run[tag="data-fr"][tag], 150 | item > run[tag="data-fm"][tag], 151 | item > run[tag="data-fs"][tag], 152 | item > run[tag="data-fl"][tag], 153 | item > run[tag="data-fh"][tag], 154 | item > run[tag="data-cb"][tag], 155 | item > run[tag="data-cr"][tag], 156 | item > run[tag="data-cy"][tag], 157 | item > run[tag="data-cm"][tag], 158 | item > run[tag="data-cg"][tag], 159 | item > run[tag="data-cv"][tag] { 160 | color: mix(@text-color, @background-color, 15%); 161 | } 162 | item[data-fb=""] > run[content], 163 | item > run[tag="data-fb"][tagvalue] { 164 | font-weight: bold; 165 | } 166 | item[data-fi=""] > run[content], 167 | item > run[tag="data-fi"][tagvalue] { 168 | font-style: italic; 169 | } 170 | item[data-fu=""] > run[content], 171 | item > run[tag="data-fu"][tagvalue] { 172 | text-decoration: underline; 173 | } 174 | item[data-fr=""] > run[content], 175 | item > run[tag="data-fr"][tagvalue] { 176 | font-family: Georgia, "Times New Roman", serif; 177 | } 178 | item[data-fm=""] > run[content], 179 | item > run[tag="data-fm"][tagvalue] { 180 | font-family: Consolas, Menlo, monospace; 181 | } 182 | item[data-fs=""], 183 | item[data-fs=""] > run[tag], 184 | item > run[tag="data-fs"][tagvalue] { 185 | font-size: @user-font-size * 0.8; 186 | } 187 | item[data-fl=""], 188 | item[data-fl=""] > run[tag], 189 | item > run[tag="data-fl"][tagvalue] { 190 | font-size: @user-font-size * 1.2; 191 | } 192 | item[data-fh=""], 193 | item[data-fh=""] > run[tag], 194 | item > run[tag="data-fh"][tagvalue] { 195 | font-size: @user-font-size * 1.5; 196 | } 197 | item > run[tag="data-fb"][tagvalue], 198 | item > run[tag="data-fi"][tagvalue], 199 | item > run[tag="data-fu"][tagvalue], 200 | item > run[tag="data-fr"][tagvalue], 201 | item > run[tag="data-fm"][tagvalue], 202 | item > run[tag="data-fs"][tagvalue], 203 | item > run[tag="data-fl"][tagvalue], 204 | item > run[tag="data-fh"][tagvalue] { 205 | color: @text-color; 206 | } 207 | item[data-cb=""] > run[content], 208 | item > run[tag="data-cb"][tagvalue] { 209 | .nbblue(); 210 | } 211 | item[data-cr=""] > run[content], 212 | item > run[tag="data-cr"][tagvalue] { 213 | .nbred(); 214 | } 215 | item[data-cy=""] > run[content], 216 | item > run[tag="data-cy"][tagvalue] { 217 | .nbyellow(); 218 | } 219 | item[data-cm=""] > run[content], 220 | item > run[tag="data-cm"][tagvalue] { 221 | .nbbrown(); 222 | } 223 | item[data-cg=""] > run[content], 224 | item > run[tag="data-cg"][tagvalue] { 225 | .nbgreen(); 226 | } 227 | item[data-cv=""] > run[content], 228 | item > run[tag="data-cv"][tagvalue] { 229 | .nbviolet(); 230 | } 231 | item[data-fu=""][data-cb=""] > run[content], 232 | item[data-fu=""] > run[tag="data-cb"][tagvalue] { 233 | text-underline: NSUnderlineStyleSingle; 234 | text-underline-color: #78d0c9; 235 | } 236 | item[data-fu=""][data-cr=""] > run[content], 237 | item[data-fu=""] > run[tag="data-cr"][tagvalue] { 238 | text-underline: NSUnderlineStyleSingle; 239 | text-underline-color: #da919b; 240 | } 241 | item[data-fu=""][data-cy=""] > run[content], 242 | item[data-fu=""] > run[tag="data-cy"][tagvalue] { 243 | text-underline: NSUnderlineStyleSingle; 244 | text-underline-color: #e9d92b; 245 | } 246 | item[data-fu=""][data-cm=""] > run[content], 247 | item[data-fu=""] > run[tag="data-cm"][tagvalue] { 248 | text-underline: NSUnderlineStyleSingle; 249 | text-underline-color: #ada389; 250 | } 251 | item[data-fu=""][data-cg=""] > run[content], 252 | item[data-fu=""] > run[tag="data-cg"][tagvalue] { 253 | text-underline: NSUnderlineStyleSingle; 254 | text-underline-color: #9aff42; 255 | } 256 | item[data-fu=""][data-cv=""] > run[content], 257 | item[data-fu=""] > run[tag="data-cv"][tagvalue] { 258 | text-underline: NSUnderlineStyleSingle; 259 | text-underline-color: #ae7dff; 260 | } 261 | 262 | item { 263 | handle-size: @handle-size; 264 | handle-border-width: floor(1.5 * @ui-scale); 265 | } 266 | item[expanded] { 267 | handle-border-color: @handle-secondary-color; 268 | } 269 | item[collapsed] { 270 | handle-color: @handle-color; 271 | handle-border-color: none; 272 | } 273 | item[filtered] { 274 | handle-color: @handle-secondary-color; 275 | handle-border-color: none; 276 | } 277 | 278 | item[mouseOverHandle] { 279 | handle-size: @handle-size + (2 * @ui-scale); 280 | } 281 | 282 | item[mouseOverHandle][leaf] { 283 | handle-border-color: @handle-secondary-color; 284 | } 285 | -------------------------------------------------------------------------------- /sample.taskpaper: -------------------------------------------------------------------------------- 1 | 📥 INBOX: 2 | - bring up paper towels @house 3 | - Call Yummy Yummy about catering @calls 4 | 415-555-1212 5 | - return library books @errands(Library) 6 | - buy index cards @errands(Drug Store) 7 | - order AA batteries @buyonline 8 | 🎒➡️ House to Office: 9 | 💼 ➡️ Office to House: 10 | ⛔️ Cancel: 11 | - Cancel Nest Cam subscription 12 | - Cancel CleanFeed subscription 13 | - Cancel AirTable 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | Archive: 57 | - create a sample completed task @office @done(2022-01-27) @project(📥 INBOX) 58 | --------------------------------------------------------------------------------