Markdown checkbox syntax is converted to regular bulletList/listItem nodes, losing the checked/unchecked state entirely. ADF supports taskList/taskItem nodes with a state attribute (TODO/DONE) for this.
Input:
- [x] Completed task
- [ ] Pending task
Current output:
{
"type": "bulletList",
"content": [
{ "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Completed task" }] }] },
{ "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Pending task" }] }] }
]
}
The [x] and [ ] markers are stripped entirely — no trace remains in the ADF output. The checkbox state is lost.
Expected output:
{
"type": "taskList",
"attrs": { "localId": "unique-id" },
"content": [
{ "type": "taskItem", "attrs": { "localId": "unique-id-1", "state": "DONE" }, "content": [{ "type": "text", "text": "Completed task" }] },
{ "type": "taskItem", "attrs": { "localId": "unique-id-2", "state": "TODO" }, "content": [{ "type": "text", "text": "Pending task" }] }
]
}
Markdown checkbox syntax is converted to regular
bulletList/listItemnodes, losing the checked/unchecked state entirely. ADF supportstaskList/taskItemnodes with astateattribute (TODO/DONE) for this.Input:
Current output:
{ "type": "bulletList", "content": [ { "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Completed task" }] }] }, { "type": "listItem", "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Pending task" }] }] } ] }The
[x]and[ ]markers are stripped entirely — no trace remains in the ADF output. The checkbox state is lost.Expected output:
{ "type": "taskList", "attrs": { "localId": "unique-id" }, "content": [ { "type": "taskItem", "attrs": { "localId": "unique-id-1", "state": "DONE" }, "content": [{ "type": "text", "text": "Completed task" }] }, { "type": "taskItem", "attrs": { "localId": "unique-id-2", "state": "TODO" }, "content": [{ "type": "text", "text": "Pending task" }] } ] }