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 表格合并单元格

表格不居中好难受

没看明白,直接复制你的代码到logseq里面,显示界面不是你这样的。

我在 0.4.1 版本试了一下同样的代码,[:table ]这个标签好像没生效了,但是表格内容还是正常的,效果一致的。可能是版本问题。

这里主要是用了 hiccup 的语法,本质是一段 html 表格语句。

我用的是0.4.2版本。应该是你说的问题。