如视频演示,对比了不开启插件和仅开启「文档树层级指示竖线」的情况: https://github.com/zxkmm/siyuan_doctree_compress/assets/78434827/cc789c36-70b6-43a3-849c-0fc93e93f2a0
Activity
zxkmm commentedon Jan 31, 2024
感谢反馈!
我这边确实复现了。但是我目前暂时想不到会是什么造成的,因为指示竖线本质上只是css边框。
另外我还注意到,即使禁用所有的插件,思源的文档树展开和收缩时候也依然会出现跳动的情况,有时候严重有时候不严重,相比obsidian就没发现这样的奇怪情况。
所以可能不全是插件这边的原因,具体的我会排查一下为什么插件加重了这个情况,但是要修整到像obsidian那样顺畅可能需要动思源主程序。主程序那边我有空也会去看一下,最近在弄另外的项目
TCOTC commentedon Jan 31, 2024
又发现一个问题:当文档树展开较长时,如果打开的文档在靠后的位置,点击「定位打开的文档」后虽然文档树正确展开了,但也会跳动到文档树顶部
zxkmm commentedon Jan 31, 2024
diergewf
zxkmm commentedon Jan 31, 2024
抱歉点错了,请问第二个问题是发生在指示线伪元素存在时候还是其他功能呢?
TCOTC commentedon Jan 31, 2024
还是仅使用「文档树层级指示竖线」的情况
zxkmm commentedon Jan 31, 2024
刚才排查了一下,感觉还是思源的文档树定位的问题。
个人猜测思源现在的文档树定位实现是通过计算item的数量然后再乘像素高度,然后滚动到乘出来的数来实现的。
所以伪元素存在以后,计算结果就变成两倍,就滚动太多了。
这个就麻烦了,因为没有伪元素就没办法加指示线,插件没办法动思源的那个部分,除非我自己重新实现滚动功能。
当然如果能让V重写一下滚动的部分就更好了,毕竟不是我的代码所以我想要上手还是得一两个月的。而且思源不开插件也有滚动乱跳的问题,只是不严重。可能算法本身就有问题。
zxkmm commentedon Jan 31, 2024
(我仅仅是看表面现象凭经验猜测,我还没有去读思源的源代码)
TCOTC commentedon Feb 6, 2024
应该解决了:siyuan-note/siyuan/issues/10311
zxkmm commentedon Feb 6, 2024
谢谢,等我有空测一下其他edge case