Obsidian插件:Table Extended实现复杂表格,轻松解决表格布局问题

大家好,今天呢,我想给大家介绍一个Obsidian的插件——Table Extended。说到表格功能,很多小伙伴可能都有过这样的烦恼:Obsidian内置的表格语法实在是太基础了,想要实现复杂的表格效果时,不得不使用难以阅读和编辑的HTML代码。这时候,Table Extended就派上用场了!
插件简介
Obsidian的内置表格功能相对简单,只能实现最基础的表格布局。当我们需要应用复杂表格,比如跨列、跨行的单元格或者多个表头时,常常需要手动编辑HTML代码,这对于阅读和编辑来说是一大挑战。Table Extended通过引入MultiMarkdown表格语法,帮助我们轻松实现这些复杂的表格布局,保留了内部链接和嵌入的完整性。这个插件支持以下功能:
- 单元格跨列
- 单元格跨行
- 块级元素(如列表、代码)
- 多个表头
- 表格标题
- 省略表格头
使用方法
在使用最新版本的Table Extended插件时,我们可以采用新的语法来表示扩展表格。这种语法比以前的围栏tx代码块更简单,并且更好地支持反向链接和前向链接。只需在表格前面添加-tx-
前缀即可:
-tx-
| | Grouping ||
First Header | Second Header | Third Header |
------------ | :-----------: | -----------: |
Content | *Long Cell* ||
Content | **Cell** | Cell |
New section | More | Data |
And more | With an escaped '\|' ||
实验性扩展语法
请注意,以下功能在实验性扩展语法中不支持:
- 多个表头
- 表格标题
- 省略表格头
启用该选项后,可以在Obsidian的常规表格中使用扩展语法:
First Header | Second Header | Third Header |
------------ | :-----------: | -----------: |
Content | *Long Cell* ||
Content | **Cell** | Cell |
New section | More | Data |
And more | With an escaped '\|' ||
无表头
可以省略表格头:
|--|--|--|--|--|--|--|--| |♜| |♝|♛|♚|♝|♞|♜| | |♟|♟|♟| |♟|♟|♟| |♟| |♞| | | | | | | |♗| | |♟| | | | | | | | |♙| | | | | | | | | |♘| | | |♙|♙|♙|♙| |♙|♙|♙| |♖|♘|♗|♕|♔| | |♖|
兼容性
Table Extended插件需要Obsidian v0.12.0及以上版本才能使用,因为所需的API功能仅适用于该版本及以上。
背后的原理
由于Obsidian API的限制,内置的Markdown解析器是不可配置的。因此,该插件包含了一个独立的Markdown解析器markdown-it及插件markdown-it-multimd-table。表格部分和带有tx语言标签的代码块内容会传递给markdown-it,而内部链接和嵌入则会提取并传递给Obsidian,从而确保核心功能不受影响。
需要注意的是,Table Extended插件可能会与官方MultiMarkdown编译器和Obsidian的解析器表现不同。如果对合理输入有意外结果,请提交问题。
在使用Table Extended插件之后,我发现Obsidian的笔记和表格整理变得更加轻松,再也不用为复杂的表格布局而头疼。Markdown和HTML的结合也显得自然许多。小伙伴们如果有类似需求,不妨试试这个插件,相信会有很大收获!