前言
由于 Markdown 语法不支持合并单元格,所以考虑用 HTML 语法来实现。而 LogSeq 刚好对 HTML 语法提供了简化的 Hiccup 的语法支持,故用 Hiccup 语法实现合并单元格的效果。
实现
目标效果:
实现代码:
[:table
[:tr [:th {:rowspan 2} "锁状态" ] [:th {:colspan 2} "25bit"] [:th {:rowspan 2} "4bit"] [:th "1bit"] [:th "2bit"]]
[:tr [:th "23bit"] [:th "2bit"] [:th "是否偏向锁"] [:th "锁标志位"]]
[:tr [:td "无锁状态"] [:td {:colspan 4} "对象 hashcod、对象分代年龄"] [:td "01"]]
[:tr [:td "轻量级锁"] [:td {:colspan 4} "指向锁记录的指针"] [:td "00"]]
[:tr [:td "重量级锁"] [:td {:colspan 4} "指向重量级锁的指针"] [:td "10"]]
[:tr [:td "GC 标记"] [:td {:colspan 4} "空,不需要记录信息"] [:td "11"]]
[:tr [:td "偏向锁"] [:td "线程 ID"] [:td "Epoch"] [:td "对象分代年龄"] [:td "1"] [:td "01"]]
]
这里的合并单元格主要通过 HTML <th>
, <td>
标签的 colspan
和 rowspan
属性来完成,转换成 Hiccup 语法可参考Hiccup Lightning Tutorial
实现效果:
本人原文:LogSeq 表格合并单元格