任务列表项(拓展)

GFM启用任务列表项(tasklist)扩展,对列表项执行附加处理步骤。
任务列表项是第一个块是以任务列表项标记开头的段落,并且在任何其他内容之前至少有一个空白字符的列表项
任务列表项标记由任意数量的空格,左括号([),空格、小写或大写字母x,和右括号(])组成。
渲染时,任务列表项标记被替换为语义化的复选框元素; 在 HTML 输出中,会变成<input type="checkbox">元素。
如果括号之间的字符是空格,则取消选中该复选框。 否则,选中该复选框。
此规范没有定义如何与复选框元素交互:实际上,实现者可以自由地将复选框渲染为禁用或不可替换元素,或者它们可以动态处理最终渲染文档中的动态交互(即选中或者取消选中)。

示例 279

Markdown HTML 效果
- [ ] foo
- [x] bar

<ul>
<li><input disabled="" type="checkbox"> foo</li>
<li><input checked="" disabled="" type="checkbox"> bar</li>
</ul>

任务列表可以任意嵌套:

示例 280

Markdown HTML 效果
- [x] foo
  - [ ] bar
  - [x] baz
- [ ] bim

<ul>
<li><input checked="" disabled="" type="checkbox"> foo
<ul>
<li><input disabled="" type="checkbox"> bar</li>
<li><input checked="" disabled="" type="checkbox"> baz</li>
</ul>
</li>
<li><input disabled="" type="checkbox"> bim</li>
</ul>