代码已上传至 obsidian-sheets-basic
240612: 切换到阅读模式再打印导出 PDF 已能正确渲染,包括表格内图片、数学公式等。
240626: 支持编辑模式简单表格合并,编辑完成移出表格时触发。
240629: 更丰富的合并。测试文本:
| | | |
| --- | --- | --- |
| 1 | < | |
| ^ | ^ | |
| 2 | 2 | |
- 若有任何不合期望的显示结果,可在编辑模式使用插件 ‘rebuildCurrent’ 命令刷新,默认快捷键 F5。
- 推荐导出 PDF 前刷新一次,再切换到阅读模式导出。
- 使用于表格外,将刷新当前活动页面。
- 使用于普通单元格,将刷新所在表格。请勿将鼠标光标置于合并识别符所在单元格。
- 使用于合并单元格,将取消合并,该单元格将变为普通单元格。
- 不要在表体第一行使用向上合并,即不要合并表头和表体。
插件历史沿革:
Sheets Extended 是由 @NicoNekoru 开发的在阅读模式和代码块内合并表格单元格的插件。该插件功能十分丰富,但有一些 bug,如不能正确渲染 Callout 和引用块内的表格等。
我从今年 1 月 8 日起联系作者(见 issue#45),希望他能修复,中途作者也修复了一回,但没修好,直到现在。
我不是计算机专业的,不会大部分代码,所以只能参考原插件编写了一个简单版本,只保留合并单元格的基本功能,原本是希望给作者参考,让他尽快修复的。
但由于迟迟没能等到作者的任何回复,随着我经验增长,又新加了编辑模式合并单元格的功能,尽管我依然期待作者修复,现在这个简单版本的插件也具备独立功能了。
6 个赞
雪鸢
(Z)
2
楼主。表格原插件在callout里渲染不出来,能居中。 你的精简代码能渲染出来。但是居中不了
原版插件在和 table extant 一起在同一个笔记中时,导出的PDF没问题,这个插件会导致table extant的乱掉
@nqyijian Table Extended 和 Sheet Extended 或本插件都是通过语法标记对表格进行处理,且彼此语法完全不同,择一而用即可。
@diyaojz 参 怎么使表格内容垂直居中啊 - #2,来自 PlayerMiller
本插件主要是合并单元格,其余表格相关需求请使用搜索功能或论坛新建“疑问解答”话题提问。
群友:<^
这种语法渲染的表格在 anyblock 的 tab 模式下不显示
由于群里有人说到和AnyBlock的配合问题,我去测试了一下。
然后想起这几个插件的选用有时可能也会导致小白选择困难,借楼贴个比较图。该比较能够从一定程度上说明与其他插件的配合程度(但在这里表现更好的表格插件版本不意味着与所有插件配合都更好)
(该借楼补充其实感觉放哪都不合适……无论是单独开一篇、还是放AnyBlock主题里、还是放这里。算了,还是放这吧……)
1 个赞
表格崩掉的问题
群友:这个如果合并了表格,如果没有这个插件,表格会被正确识别吗?不敢用
sheets extented不会崩,table exteneded会崩,所以我更建议前者。
sheets extented没有插件的话长前面第一列第三行那个样子。我认为没有插件不影响体验,完全可以脑内渲染。
而我不建议 Table Exteneded,他那个有没有插件有可能样式会崩掉。他的那个语法设计就有问题
语法设计问题
table exteneded的语法设计
|a|b|
|待会左边要合并我||
第二行第二列的合并标志,是两个|
之间没有任何内容,空格也不允许。如果两个|
之间有空格,那么就表示一个空的单元格。但是两个|
之间没有内容,会导致没有插件的情况下渲染器不认为这是一个表格,表格会崩掉
| Markdown | Rendered HTML |
|--------------|---------------|
| *Italic* | *Italic* | \
| | |
| - Item 1 | - Item 1 | \
| - Item 2 | - Item 2 |
| ```python | ```python \
| .1 + .2 | .1 + .2 \
| ``` | ``` |
还有一种语法是在表格最后的 |
后面还有个 \
用来表示特殊的表格合并(一个单元格内容存在多行)。但同样的,没有插件的情况下渲染器不认为这种东西是个表格,表格也会崩掉。
而sheets extented的语法设计
|a|b|
|待会左边要合并我|<|
这个语法设计必不可能崩,也几乎不会误选
其他区别 / 区别总结
前者是 ^^
上合并,||
(中间无空格) 左合并
后者是 ^
上合并,<
左合并
主要吹了sheets extented,那table exteneded有没有什么更优的点?
- 可能有一些功能增强,但这类功能很多是破坏性的(离了插件后,语法连个表格都不是。即功能增强依赖的语法并非table的超集,不向下兼容)
- 例如支持跨单元格的代码块或引用块,通过末尾
\
语法 (不向下兼容,不建议)
- 额外支持无表头模式(不向下兼容,不建议)
- table exteneded,他直接用的 markdown-it-mulitmd-table,和博客中的表格合并语法是相同的。这意味着该软件开发成本的降低,以及在对博客迁移时的兼容
但是就设计而言,sheets extented 更好,但没有其对应的 markdown-it 插件。但我相信以后也会有的!(大不了我后面研究一下怎么迁移过去)
谢谢 @LincZero 帮忙测试,其实我打算不管是原插件作者自己更新还是说有别人接手,要是有正式军我就准备摸鱼了 我这天天挂个 JS 在上面虽然想的是大伙都能自己编辑,到底不是个事儿,肯定还是专业人员来搞更好。很高兴你认可我是一个活跃者!不过我可能慢慢地也不会活跃啦。
1 个赞
熊猫别熬夜
(噗~)
12
大佬,咨询个问题,如何在实时编辑时取消合并的表格…