@@ -44,10 +44,16 @@ The Tasks plugin renders a task in the following structure (this refers to query
4444 - Task description and tags (span class="task-description")
4545 - Internal span
4646 - Each tag in the description is wrapped in <a href class="tag" data-tag-name="[tag-name]">
47+ - Task ID (span class="task-id")
48+ - Internal span
49+ - Task 'depends on' (span class="task-dependsOn")
50+ - Internal span
4751 - Task priority (span class="task-priority" + data-task-priority attribute)
4852 - Internal span
4953 - Task recurrence rule (span class="task-recurring")
5054 - Internal span
55+ - Task 'on completion' (span class="onCompletion")
56+ - Internal span
5157 - Task created date (span class="task-created" + data-task-created attribute)
5258 - Internal span
5359 - ... start date, scheduled date, due date, cancelled date and done date in this order
@@ -65,135 +71,184 @@ The reason for this additional internal span is that it allows CSS styles that c
6571
6672### Sample HTML: Full mode
6773
68- To help visualise the structure above, here is the HTML for a sample task shown in [[ Layout#Full Mode|full mode]] .
74+ To help visualise the structure above, here is the HTML for a sample Tasks search shown in [[ Layout#Full Mode|full mode]] .
6975
7076> [ !Note]
71- > The below does not (yet) show the "Task extras".
77+ > In Reading Mode:
78+ >
79+ > - all the classes and data inside the ` li ` are available,
80+ > - and none of the "Task extras" content is available.
7281
73- <!-- snippet: TaskLineRenderer .test.Visualise_HTML_Full_task_-_full_mode .approved.html -->
82+ <!-- snippet: QueryResultsRenderer .test.QueryResultsRenderer_tests_fully_populated_task .approved.html -->
7483``` html
7584<!--
7685 - [ ] Do exercises #todo #health 🆔 abcdef ⛔ 123456,abc123 🔼 🔁 every day when done 🏁 delete ➕ 2023-07-01 🛫 2023-07-02 ⏳ 2023-07-03 📅 2023-07-04 ❌ 2023-07-06 ✅ 2023-07-05 ^dcf64c
7786-->
7887
79- <li
80- class =" task-list-item plugin-tasks-list-item"
81- data-task-priority =" medium"
82- data-task-created =" past-4d"
83- data-task-start =" past-3d"
84- data-task-scheduled =" past-2d"
85- data-task-due =" past-1d"
86- data-task-cancelled =" future-1d"
87- data-task-done =" today"
88- data-task =" "
89- data-line =" 0"
90- data-task-status-name =" Todo"
91- data-task-status-type =" TODO" >
92- <input class =" task-list-item-checkbox" type =" checkbox" title =" Right-click for options" data-line =" 0" />
93- <span class =" tasks-list-text" >
94- <span class =" task-description" ><span >Do exercises #todo #health</span ></span >
95- <span class =" task-id" ><span >🆔 abcdef</span ></span >
96- <span class =" task-dependsOn" ><span >⛔ 123456,abc123</span ></span >
97- <span class =" task-priority" data-task-priority =" medium" ><span >🔼</span ></span >
98- <span class =" task-recurring" ><span >🔁 every day when done</span ></span >
99- <span class =" task-onCompletion" ><span >🏁 delete</span ></span >
100- <span
101- class =" task-created"
88+ <div >
89+ <ul class =" contains-task-list plugin-tasks-query-result" >
90+ <li
91+ class =" task-list-item plugin-tasks-list-item"
92+ data-task-priority =" medium"
10293 data-task-created =" past-4d"
103- title =" Click to edit created date, Right-click for more options" >
104- <span >➕ 2023-07-01</span >
105- </span >
106- <span class =" task-start" data-task-start =" past-3d" title =" Click to edit start date, Right-click for more options" >
107- <span >🛫 2023-07-02</span >
108- </span >
109- <span
110- class =" task-scheduled"
94+ data-task-start =" past-3d"
11195 data-task-scheduled =" past-2d"
112- title =" Click to edit scheduled date, Right-click for more options" >
113- <span >⏳ 2023-07-03</span >
114- </span >
115- <span class =" task-due" data-task-due =" past-1d" title =" Click to edit due date, Right-click for more options" >
116- <span >📅 2023-07-04</span >
117- </span >
118- <span
119- class =" task-cancelled"
96+ data-task-due =" past-1d"
12097 data-task-cancelled =" future-1d"
121- title =" Click to edit cancelled date, Right-click for more options" >
122- <span >❌ 2023-07-06</span >
123- </span >
124- <span class =" task-done" data-task-done =" today" title =" Click to edit done date, Right-click for more options" >
125- <span >✅ 2023-07-05</span >
126- </span >
127- <span class =" task-block-link" ><span >^dcf64c</span ></span >
128- </span >
129- </li >
98+ data-task-done =" today"
99+ data-task =" "
100+ data-line =" 0"
101+ data-task-status-name =" Todo"
102+ data-task-status-type =" TODO" >
103+ <input class =" task-list-item-checkbox" type =" checkbox" title =" Right-click for options" data-line =" 0" />
104+ <span class =" tasks-list-text" >
105+ <span class =" task-description" ><span >Do exercises #todo #health</span ></span >
106+ <span class =" task-id" ><span >🆔 abcdef</span ></span >
107+ <span class =" task-dependsOn" ><span >⛔ 123456,abc123</span ></span >
108+ <span class =" task-priority" data-task-priority =" medium" ><span >🔼</span ></span >
109+ <span class =" task-recurring" ><span >🔁 every day when done</span ></span >
110+ <span class =" task-onCompletion" ><span >🏁 delete</span ></span >
111+ <span
112+ class =" task-created"
113+ data-task-created =" past-4d"
114+ title =" Click to edit created date, Right-click for more options" >
115+ <span >➕ 2023-07-01</span >
116+ </span >
117+ <span
118+ class =" task-start"
119+ data-task-start =" past-3d"
120+ title =" Click to edit start date, Right-click for more options" >
121+ <span >🛫 2023-07-02</span >
122+ </span >
123+ <span
124+ class =" task-scheduled"
125+ data-task-scheduled =" past-2d"
126+ title =" Click to edit scheduled date, Right-click for more options" >
127+ <span >⏳ 2023-07-03</span >
128+ </span >
129+ <span class =" task-due" data-task-due =" past-1d" title =" Click to edit due date, Right-click for more options" >
130+ <span >📅 2023-07-04</span >
131+ </span >
132+ <span
133+ class =" task-cancelled"
134+ data-task-cancelled =" future-1d"
135+ title =" Click to edit cancelled date, Right-click for more options" >
136+ <span >❌ 2023-07-06</span >
137+ </span >
138+ <span class =" task-done" data-task-done =" today" title =" Click to edit done date, Right-click for more options" >
139+ <span >✅ 2023-07-05</span >
140+ </span >
141+ <span class =" task-block-link" ><span >^dcf64c</span ></span >
142+ </span >
143+ <span class =" task-extras" >
144+ <span class =" tasks-urgency" >18.157</span >
145+ <span class =" tasks-backlink" >
146+ (
147+ <a rel =" noopener" target =" _blank" class =" internal-link" >fileName > ; My Header</a >
148+ )
149+ </span >
150+ <a class =" tasks-edit" title =" Edit task" href =" #" ></a >
151+ <a class =" tasks-postpone" title =" ℹ️ Due tomorrow, on Thu 6th Jul (right-click for more options)" ></a >
152+ </span >
153+ </li >
154+ </ul >
155+ <div class =" task-count" >1 task</div >
156+ </div >
130157```
131158<!-- endSnippet -->
132159
133160### Sample HTML: Short mode
134161
135- Here is the same task in [[ Layout#Short Mode|short mode]] . The only difference is that any text values after Tasks emoji are omitted:
162+ Here is the same Tasks search in [[ Layout#Short Mode|short mode]] .
163+
164+ The differences from full mode are:
165+
166+ - the ` ul ` has an extra class ` tasks-layout-short-mode ` ,
167+ - any text values after Tasks emoji are omitted,
168+ - the backlink is shorter and has an extra class ` internal-link-short-mode ` ,
169+ - the postpone button has an extra class ` tasks-postpone-short-mode ` .
136170
137171> [ !Note]
138- > The below does not (yet) show the "Task extras".
172+ > In Reading Mode:
139173>
140- <!-- snippet: TaskLineRenderer.test.Visualise_HTML_Full_task_-_short_mode.approved.html -->
174+ > - all the classes and data inside the ` li ` are available,
175+ > - and none of the "Task extras" content is available.
176+
177+ <!-- snippet: QueryResultsRenderer.test.QueryResultsRenderer_tests_fully_populated_task_-_short_mode.approved.html -->
141178``` html
142179<!--
143180 - [ ] Do exercises #todo #health 🆔 abcdef ⛔ 123456,abc123 🔼 🔁 every day when done 🏁 delete ➕ 2023-07-01 🛫 2023-07-02 ⏳ 2023-07-03 📅 2023-07-04 ❌ 2023-07-06 ✅ 2023-07-05 ^dcf64c
144181-->
145182
146- <li
147- class =" task-list-item plugin-tasks-list-item"
148- data-task-priority =" medium"
149- data-task-created =" past-4d"
150- data-task-start =" past-3d"
151- data-task-scheduled =" past-2d"
152- data-task-due =" past-1d"
153- data-task-cancelled =" future-1d"
154- data-task-done =" today"
155- data-task =" "
156- data-line =" 0"
157- data-task-status-name =" Todo"
158- data-task-status-type =" TODO" >
159- <input class =" task-list-item-checkbox" type =" checkbox" title =" Right-click for options" data-line =" 0" />
160- <span class =" tasks-list-text" >
161- <span class =" task-description" ><span >Do exercises #todo #health</span ></span >
162- <span class =" task-id" ><span >🆔</span ></span >
163- <span class =" task-dependsOn" ><span >⛔</span ></span >
164- <span class =" task-priority" data-task-priority =" medium" ><span >🔼</span ></span >
165- <span class =" task-recurring" ><span >🔁</span ></span >
166- <span class =" task-onCompletion" ><span >🏁</span ></span >
167- <span
168- class =" task-created"
183+ <div >
184+ <ul class =" contains-task-list plugin-tasks-query-result tasks-layout-short-mode" >
185+ <li
186+ class =" task-list-item plugin-tasks-list-item"
187+ data-task-priority =" medium"
169188 data-task-created =" past-4d"
170- title =" Click to edit created date, Right-click for more options" >
171- <span >➕</span >
172- </span >
173- <span class =" task-start" data-task-start =" past-3d" title =" Click to edit start date, Right-click for more options" >
174- <span >🛫</span >
175- </span >
176- <span
177- class =" task-scheduled"
189+ data-task-start =" past-3d"
178190 data-task-scheduled =" past-2d"
179- title =" Click to edit scheduled date, Right-click for more options" >
180- <span >⏳</span >
181- </span >
182- <span class =" task-due" data-task-due =" past-1d" title =" Click to edit due date, Right-click for more options" >
183- <span >📅</span >
184- </span >
185- <span
186- class =" task-cancelled"
191+ data-task-due =" past-1d"
187192 data-task-cancelled =" future-1d"
188- title =" Click to edit cancelled date, Right-click for more options" >
189- <span >❌</span >
190- </span >
191- <span class =" task-done" data-task-done =" today" title =" Click to edit done date, Right-click for more options" >
192- <span >✅</span >
193- </span >
194- <span class =" task-block-link" ><span >^dcf64c</span ></span >
195- </span >
196- </li >
193+ data-task-done =" today"
194+ data-task =" "
195+ data-line =" 0"
196+ data-task-status-name =" Todo"
197+ data-task-status-type =" TODO" >
198+ <input class =" task-list-item-checkbox" type =" checkbox" title =" Right-click for options" data-line =" 0" />
199+ <span class =" tasks-list-text" >
200+ <span class =" task-description" ><span >Do exercises #todo #health</span ></span >
201+ <span class =" task-id" ><span >🆔</span ></span >
202+ <span class =" task-dependsOn" ><span >⛔</span ></span >
203+ <span class =" task-priority" data-task-priority =" medium" ><span >🔼</span ></span >
204+ <span class =" task-recurring" ><span >🔁</span ></span >
205+ <span class =" task-onCompletion" ><span >🏁</span ></span >
206+ <span
207+ class =" task-created"
208+ data-task-created =" past-4d"
209+ title =" Click to edit created date, Right-click for more options" >
210+ <span >➕</span >
211+ </span >
212+ <span
213+ class =" task-start"
214+ data-task-start =" past-3d"
215+ title =" Click to edit start date, Right-click for more options" >
216+ <span >🛫</span >
217+ </span >
218+ <span
219+ class =" task-scheduled"
220+ data-task-scheduled =" past-2d"
221+ title =" Click to edit scheduled date, Right-click for more options" >
222+ <span >⏳</span >
223+ </span >
224+ <span class =" task-due" data-task-due =" past-1d" title =" Click to edit due date, Right-click for more options" >
225+ <span >📅</span >
226+ </span >
227+ <span
228+ class =" task-cancelled"
229+ data-task-cancelled =" future-1d"
230+ title =" Click to edit cancelled date, Right-click for more options" >
231+ <span >❌</span >
232+ </span >
233+ <span class =" task-done" data-task-done =" today" title =" Click to edit done date, Right-click for more options" >
234+ <span >✅</span >
235+ </span >
236+ <span class =" task-block-link" ><span >^dcf64c</span ></span >
237+ </span >
238+ <span class =" task-extras" >
239+ <span class =" tasks-urgency" >18.157</span >
240+ <span class =" tasks-backlink" >
241+ <a rel =" noopener" target =" _blank" class =" internal-link internal-link-short-mode" >🔗</a >
242+ </span >
243+ <a class =" tasks-edit" title =" Edit task" href =" #" ></a >
244+ <a
245+ class =" tasks-postpone tasks-postpone-short-mode"
246+ title =" ℹ️ Due tomorrow, on Thu 6th Jul (right-click for more options)" ></a >
247+ </span >
248+ </li >
249+ </ul >
250+ <div class =" task-count" >1 task</div >
251+ </div >
197252```
198253<!-- endSnippet -->
199254
@@ -216,8 +271,10 @@ The generic classes are:
216271- ` task-cancelled `
217272- ` task-done `
218273- ` task-recurring `
274+ - ` task-onCompletion `
219275- ` task-id `
220276- ` task-dependsOn `
277+ - ` task-block-link `
221278
222279In addition to the generic classes, there are [ ** data attributes** ] ( https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes ) that represent the content of the various task components.
223280
0 commit comments