LogSeq 表格合并单元格实现

前言

由于 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> 标签的 colspanrowspan 属性来完成,转换成 Hiccup 语法可参考Hiccup Lightning Tutorial

实现效果:

本人原文:LogSeq 表格合并单元格