小插件 Sheets Basic:合并 Markdown 表格单元格

表格崩掉的问题

群友:这个如果合并了表格,如果没有这个插件,表格会被正确识别吗?不敢用

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有没有什么更优的点?

  1. 可能有一些功能增强,但这类功能很多是破坏性的(离了插件后,语法连个表格都不是。即功能增强依赖的语法并非table的超集,不向下兼容)
    • 例如支持跨单元格的代码块或引用块,通过末尾 \ 语法 (不向下兼容,不建议)
    • 额外支持无表头模式(不向下兼容,不建议)
  2. table exteneded,他直接用的 markdown-it-mulitmd-table,和博客中的表格合并语法是相同的。这意味着该软件开发成本的降低,以及在对博客迁移时的兼容
    但是就设计而言,sheets extented 更好,但没有其对应的 markdown-it 插件。但我相信以后也会有的!(大不了我后面研究一下怎么迁移过去)
1 个赞