Skip to content

Commit 01d4cdc

Browse files
authored
Merge pull request #3135 from ilandikov/fix-render-markdown-list-items
fix: render markdown formatting in list items
2 parents d732bbb + 5d3ed64 commit 01d4cdc

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

src/Renderer/QueryResultsRenderer.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ export interface QueryRendererParameters {
2828
editTaskPencilClickHandler: EditButtonClickHandler;
2929
}
3030

31+
function findClosestParentTask(listItem: ListItem) {
32+
// Try to find the closest parent that is a task
33+
let closestParentTask = listItem.parent;
34+
while (closestParentTask !== null && !(closestParentTask instanceof Task)) {
35+
closestParentTask = closestParentTask.parent;
36+
}
37+
return closestParentTask;
38+
}
39+
3140
export class QueryResultsRenderer {
3241
/**
3342
* The complete text in the instruction block, such as:
@@ -257,12 +266,7 @@ export class QueryResultsRenderer {
257266
}
258267

259268
private willBeRenderedLater(task: ListItem, renderedTasks: Set<ListItem>, tasks: ListItem[]) {
260-
// Try to find the closest parent that is a task
261-
let closestParentTask = task.parent;
262-
while (closestParentTask !== null && !(closestParentTask instanceof Task)) {
263-
closestParentTask = closestParentTask.parent;
264-
}
265-
269+
const closestParentTask = findClosestParentTask(task);
266270
if (!closestParentTask) {
267271
return false;
268272
}
@@ -327,12 +331,20 @@ export class QueryResultsRenderer {
327331
return await this.addTask(taskList, taskLineRenderer, task, taskIndex, queryRendererParameters);
328332
}
329333

330-
return this.addListItem(taskList, task);
334+
return await this.addListItem(taskList, task);
331335
}
332336

333-
private addListItem(taskList: HTMLUListElement, listItem: ListItem) {
337+
private async addListItem(taskList: HTMLUListElement, listItem: ListItem) {
334338
const li = createAndAppendElement('li', taskList);
335-
li.textContent = listItem.description;
339+
340+
const span = createAndAppendElement('span', li);
341+
await this.textRenderer(
342+
listItem.description,
343+
span,
344+
findClosestParentTask(listItem)?.path ?? '',
345+
this.obsidianComponent,
346+
);
347+
336348
return li;
337349
}
338350

tests/Renderer/QueryResultsRenderer.test.QueryResultsRenderer_tests_parent-child_items.approved.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
<a class="tasks-edit" title="Edit task" href="#"></a>
6161
</span>
6262
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
63-
<li>list item grand grand child</li>
63+
<li><span>list item grand grand child</span></li>
6464
</ul>
6565
</li>
6666
</ul>
@@ -86,7 +86,7 @@
8686
</span>
8787
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
8888
<li>
89-
non task grandchild
89+
<span>non task grandchild</span>
9090
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
9191
<li
9292
class="task-list-item plugin-tasks-list-item"

tests/Renderer/QueryResultsRenderer.test.QueryResultsRenderer_tests_parent-child_items_reverse_sorted.approved.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
<a class="tasks-edit" title="Edit task" href="#"></a>
8181
</span>
8282
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
83-
<li>list item grand grand child</li>
83+
<li><span>list item grand grand child</span></li>
8484
</ul>
8585
</li>
8686
</ul>
@@ -106,7 +106,7 @@
106106
</span>
107107
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
108108
<li>
109-
non task grandchild
109+
<span>non task grandchild</span>
110110
<ul class="contains-task-list plugin-tasks-query-result tasks-layout-hide-urgency">
111111
<li
112112
class="task-list-item plugin-tasks-list-item"

0 commit comments

Comments
 (0)