obsidian多层级嵌套不能正常渲染

obsidian中代码和有序列表及引用,列表嵌套代码块,有序列表不能继续代码块前面的顺序,二十倍中断了。

有序列表中添加嵌套代码块,列表顺序被打断。

Windows,obsidian1.5.12

obsidian中的表现:

有序列表插入代码块前,有序列表顺序正常:
image
插入代码块后:


可以看到有序列表被打断了。
Typora渲染正常,不会被打断。
此外obsidian中代码块的开头和结尾不能对齐:

最好发下原文。

不过这个渲染是老问题了,基本上无解…

插件Codeblock Customizer能解决缩进和对齐问题, 但还是会打断有序列表序号, 不过我个人都是用linter把所有序号都自动转为1.的

因为不能上传多张图,因此直接附上整体截图,请下载查看:

在obsidian中目前观察,在有序列表中直接添加代码块时,代码块开头的"```“反引号正确的缩进了,但是结尾的”```“不能正常缩进(应该是根本没有发生缩进),因此产生了不匹配的缩进,导致后续列表无法正常渲染。
示例:
在列表的序号2中插入了代码块,代码块开始处和结尾处的”```“反引号缩进不匹配,导致后续被中断,后续显示错误。
列表中插入的代码块开始处和结尾处的”```"反引号缩进不匹配示意图如下:

在“源码模式”中错误渲染(下图是源码模式的表现):

“阅读视图”表现(整个后续列表都被错误解析了,被误识别为代码):


手工修改结尾的"```"反引号缩进(此处手动在结尾添加了3个空格,使结尾的反引号和开始的平齐),并略微拖动后续列表,让编号重新自动更新后,显示恢复了正常的(下图源码模式):

阅读视图:

可以看到必须手动修改代码块前后的"```"反引号的缩进后,才能正确的渲染,根本原因在于:在列表中插入代码块时,obsidian没有为结尾的"```"反引号应用与起始处一致的缩进
这个是比较基础的功能,影响非常大:后续无法正常渲染,需要立即修复。


原始内容

1. 列表
2. 列表
   这是一段python输出的代码示意
   ```python
   print("abc")
```
1. 后续列表
2. 后续

在沙箱中,obsidian也是错误的缩进,应该不是插件的影响:
目前使用的`Codeblock Customizer`插件,也不能自动纠正 错误的代码块缩进(可能是我配置的问题),期望大家有更好的解决方法,谢谢。此外,希望可以像typora那样,在列表中直接回车是在当前列表中另起一行(obsidian中的shift+回车效果),而对于空行重复回车自动时自动创建新列表。
1 个赞

有解决方法吗,就是代码块后的自动缩进层级是不对的导致的。

1 个赞

不仅如此!非序号的层次也会打断!(如 -,+,*等),缩进退格也会影响序号的变化。对标的,typora序号维护就稳定得多 :smiling_face_with_tear:

需求是这样的。

  1. 序号列表中,修改第一个,其后自动跟随递增;
  2. 允许序号列表中,以缩进方式添加各种不同的信息,如无序列表、代码块,而不影响后续序号的次序;
  3. 从缩进的序号在 shift + tab后,自动切换为 上一层 的列表形式(如 有序之后tab添加无序,那么无序后shift+tab应该在当前行自动切换为有序列表)

目前只想到这些(typora就是这样实现的,但是有时候也会被 代码块打断)

需求是这样的。

  1. 序号列表中,修改第一个,其后自动跟随递增;
  2. 允许序号列表中,以缩进方式添加各种不同的信息,如无序列表、代码块,而不影响后续序号的次序;
  3. 从缩进的序号在 shift + tab后,自动切换为 上一层 的列表形式(如 有序之后tab添加无序,那么无序后shift+tab应该在当前行自动切换为有序列表)

目前只想到这些(typora就是这样实现的,但是有时候也会被 代码块打断)

13在英文论坛都是老需求了,等吧 :joy:

2的话估计难度更大