以下为 Markdown 的一些特性:
需要在段落间空一行,即使用连续 2 个换行符,才能在阅读模式获得一个新的段落块(<p>
)。
而当其间没有内容分隔时,阅读模式始终渲染出唯一的一行。

不加标号的文本放在列表序号下,看似换行缩进,实则只是一个内容中间有空格的、一行的列表项,只不过给用户折行显示出来了。

其他,如表格前后必须空一行等。
免责声明:
空白压缩是一个专有概念,并非 Ob 特色。如对技术理论感兴趣,可以 Collapsing of white space 为关键词详询 AI。
4 个赞
0x0
4
个人觉得 obsidian的插件社区就是为了打破这种规范 让用户可以根据自己的想象去创造内容, 如果做为纯Markdown编辑器市面上面有很多的选择,包括官方推出的callouts 也是在丰富用户的编辑体验,我相信很多人选择ob并不是冲着markdown来的,期待官方后续推出更多的创新功能 
1 个赞
yylicon
(nelbor)
5
所以obsidian做实时渲染模式的意义呢,不和自己源码控制的哲学相悖吗,还是说为了妥协?一种好的办法就是砍掉阅读模式,专心做即时渲染模式,像typora那样改为所见即所得的设计哲学,阅读模式改为只读模式,仅仅禁止编辑而不做第二套不同于实时渲染模式的渲染逻辑
3 个赞
经常碰到新人不理解ob的语法和渲染逻辑,一时不知怎么解释,大佬这个帖子2楼讲的就很明白了
感谢楼主分享,建议列入新手必读
RyanChan
(Ryan Chan)
8
为什么编辑模式下无序列表有两个空行还是会被无视掉,渲染为下面这样

RyanChan
(Ryan Chan)
10
感谢答复。
所以原因就是空行并没有让系统将其识别为两个 ul,需要手动插入 break。
这似乎和空白压缩的规则不一致,为什么空行被完全忽视掉了?
另外还有个疑问,就是所有 html 标签必须和列表内容之间有空行,否则会影响列表的显示样式,这又是什么原因呢?

空白压缩并非孤立代指空一行分块,本质上是 Markdown 语法如何设置其纯文本与 HTML 样式之间的映射,一个整体的东西。如果感兴趣可以进一步学习相关方面的内容。
royone
12
这个空白压缩如何正确使用呢? 比如想要空两行 就按4下空格键?
另外从word复制过来的空格跟obsidian里按空格又不一样。比如很多个姓名在word里做了对齐操作,复制到obsidian会严格执行姓名间的空格,但是在下面新添加的姓名按空格去对齐的话就没用了,阅读模式不认了 (word里也可能不是真的空格,占位符之类的也有可能,但看不见就等于空格了) 
最为蛋疼的是,用EXcalidraw或者canvas的嵌入时候,不得不切换阅读和编辑模式
而两个模式切换又会跳闪,位置根本不能对应
极度恶心编辑
一个主要用来编辑的软件,编辑的体验瞬间没了……
vercfe
(w)
16
我也觉得 Obsidian 的编辑模式和源码模式没什么区别,不如 Typora 所见即所得下编辑来的方便
美人儿呀
(Wrwe)
17
请问一下,这种情况是不是就解决不了了?
表格与上一行之间都有个明显的空白行。
虽然知道原理,但的确是不太美观。
也不是解决不了吧,只是不建议改,编辑模式会影响上一行了
可以简单改个上边距:
.markdown-source-view .cm-embed-block.cm-table-widget.markdown-rendered {
margin-block-start: -50px!important;
}
.markdown-preview-view .el-table{
margin-block-start: -50px!important;
}
美人儿呀
(Wrwe)
19
我用了你的代码,非常棒啊。感觉没有影响上一行啊。
还有个类似的问题:每个页面打开时,光标默认在第一行。
这会导致第一行是编辑状态。
于是,当第一行是需要渲染的内容,
比如 编程的代码、Dataview 代码、md 表格,等等的时候,
就会显示源码,而非渲染结果。
我的应对方法是,直接把每页的第一行空下来,
于是光标落在第一行,就没有影响。
这样当然没问题,
但是多少有点不太优雅。
请问有更好的办法解决这个问题吗?
空行加个标题什么的吧
光标在当前行当然会使当前行进入编辑模式
不过难道不是把默认打开的模式改为阅读模式就可以了吗?
如果不希望编辑开头的内容,只是查看用途,直接打开就是阅读模式不编辑;如果希望编辑开头的内容,那光标在第一行也没错不是吗?