在编辑模式下很多内容不显示:
阅读模式下是有的:
什么操作系统?
Obsidian 什么版本?
安装了哪些插件?
有没有最小化启动(禁用第三方插件) Obsidian 排错?
有没有二分法排错?
操作系统:win10
obsidian 版本:0.15.9
关闭所有插件后,问题仍没有解决。
源文件在哪里?我看看你到底写了什么了不得的内容导致 markdown 都渲染不出来。
或者你可以用 VSCode+marksman 插件看看自己的 Markdown 哪里语法写的不对。
我从来没遇到过 MD 渲染失败的案例,你是第一个。
源文件如下:
奶牛快传 | 免费大文件传输工具,上传下载不限速 点击链接查看 [ CS229 概率论复习.md ] ,或访问奶牛快传 cowtransfer.com 输入传输口令 42q06h 查看;
属实神奇啊,我用 VSCode 格式化之后 Obsidian 依然不能很好的实时预览。
这个 bug 有必要给官网反馈一下。
应该是官方的bug,控制台报错是
app.js:1 Uncaught TypeError: Cannot read properties of undefined (reading 'length')
at t.lineInner (app.js:1:324640)
at t.e.line (app.js:1:321234)
at t.blockAt (app.js:1:455622)
at t.lineAt (app.js:1:455757)
at t.lineAt (app.js:1:458058)
at t.lineAt (app.js:1:458058)
at t.lineAt (app.js:1:458058)
at t.lineAt (app.js:1:458058)
at t.lineAt (app.js:1:458058)
at t.lineAt (app.js:1:458058)
删掉一部分文本倒是能恢复正常,真是奇怪
建议管理员将这个帖子类型改成建议反馈
我用windows的笔记本打开你那个文件,然后复制所有字符,粘贴到obsidian新建笔记中就正常了。我也不知道怎么回事。可能是字符编码层面的问题
lineInner的作用是,根据字符的位置或是行号找到指定行。
出错的信息来看应该是数组访问越界了,也就是说文件只有100行,却要求第101行。或是整个文件一共3000字,却要得到第3006个字符所在的行。
按行号一般会提前比较,出现这种情况的机会不大,按位置也应该会有比较的,但有出错的可能。
诶嘿,我找到了,直接敲<0x200d>
是不行的,点击这里面的Copy to the clipboard复制之后,粘贴到自己的文档之后就出现了同样的情况,但具体机制还是不清楚
U+200D ZERO WIDTH JOINER - Unicode Explorer (unicode-explorer.com)
大佬
第一次知道零宽字符还是在 Emacs 论坛大家讨论中文分词的时候,不过那是用插件故意引入文件实现中文单词级光标跳转的。
看起来ob并不支持零宽字符,三种零宽字符0x200b
,0x200c
,0x200d
都会导致编辑模式下该字符下方几十行以后的内容不显示