Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编辑器式反链面板 #3565

Closed
88250 opened this issue Dec 4, 2021 · 38 comments
Closed

编辑器式反链面板 #3565

88250 opened this issue Dec 4, 2021 · 38 comments
Assignees
Labels
Milestone

Comments

@88250
Copy link
Member

88250 commented Dec 4, 2021

https://ld246.com/article/1638586556421

@fanglypro
Copy link

fanglypro commented Mar 18, 2022

我提一个可能会成为难点的问题:目前思源中每个块的展开折叠状态只有一种,要么展开,要么折叠

在 RR 当中,原文的折叠展开状态和反链中的折叠展开状态是各管各的

下面是一个 RR 中的案例,可供参考,思源之后的编辑器式反链面板应当也能完成下面的逻辑:

temp141

@jhan3657
Copy link

希望能够有更直观的上下文提示。
由于现在的反链面板缺少面包屑展示,并且如果是关联型反链,想要查看上下文只能鼠标移动到块标浮窗预览(还要手动点击右上角的上下文图标)。
建议这里的块标浮窗预览直接展现上下文并高亮显示

@88250 88250 added this to the backlog milestone Apr 20, 2022
@88250 88250 pinned this issue Apr 20, 2022
@88250
Copy link
Member Author

88250 commented Apr 20, 2022

@fanglypro 分离的折叠状态先不考虑了。

@fanglypro
Copy link

@fanglypro 分离的折叠状态先不考虑了。

那还能保持现有的类 roam research 的逻辑吗,也就是当锚文本独占时,仅显示下级列表块的第一级列表,更深级别的列表要折叠,当不是锚文本独占时,仅显示该列表项,下级列表都折叠。是否可以简单阐述下您现在考虑的设计逻辑呢?

如果不能满足现有这个逻辑的话,很有可能编辑器式反链面板还不如现有的反链面板

@88250
Copy link
Member Author

88250 commented Apr 20, 2022

这个逻辑会保持不变的。

@fanglypro
Copy link

fanglypro commented Apr 20, 2022

这个逻辑会保持不变的。

那就好👍🏻

但是如果满足这个逻辑的话,不就是会有分离的折叠状态码?比如对于非锚文本独占的列表项,在正文里是展开的,在反链面板里应该要折叠。

难道说展示形式还是和现在一样,只是把现在不能编辑的纯文本内容改成可编辑的富文本?这样的话浮窗还存在吗?因为反链展示的内容只是给出最小可用文本,方便定位有价值的信息,定位好后通常还是要查看反链中这个块的完整上下文,而且这个查看上下文过程应该不需要切换文档,也就是说不应该通过点击跳转对应文档来查看相关上下文(obsidian、wolai之类的反链就败在于此)。roam research 中通过分离的折叠展开逻辑以及反链面板中的面包屑达到在反链面板中直接查看上下文的功能,思源目前可以通过浮窗查看上下文,没有roam用起来顺畅,但也能用,在某些场景下会比roam的反链好用。

总结一下,我认为,在反链中查看上下文时,可以有三种方法:

  1. 使用类似roam的分离的折叠展开逻辑+反链面板面包屑,而且点击面包屑后可以在反链面板中改变显示层级而不是跳转
  2. 仍保留之前的浮窗功能
  3. 反链面板面包屑+浮窗,不需要分离的折叠展开逻辑,直接把面包屑加在反链面板中,可以通过在面包屑上悬浮打开浮窗,但是目前的面包屑直接放到反链中肯定不行,侧栏那么窄的地方面包屑全部缩略没了,目前的面包屑主要有两个问题:①不能显示全;②不能换行。而且我认为,无论反链面板中加不加面包屑,这两个面包屑的问题也是有改进的价值的。roam中反链的面包屑是这样的:
    • image

我认为上面这三种方法应该至少有一个

@88250
Copy link
Member Author

88250 commented Apr 20, 2022

目前的实现思路是通过之前反链的逻辑(所谓的传递或关联)将需要的块捞出组装给反链编辑器,反链编辑器和文档编辑器不会是一样的块结构,反链编辑器是根据反链逻辑动态组合的块。面包屑还没有考虑是不是必须的,块标浮窗应该会保留。

@fanglypro
Copy link

fanglypro commented Apr 20, 2022

目前的实现思路是通过之前反链的逻辑(所谓的传递或关联)将需要的块捞出组装给反链编辑器,反链编辑器和文档编辑器不会是一样的块结构,反链编辑器是根据反链逻辑动态组合的块。面包屑还没有考虑是不是必须的,块标浮窗应该会保留。

那和之前相比有哪些区别呢,之前是纯文本,改了之后可以是富文本,如果只实现“反链编辑器是根据反链逻辑动态组合的块”的话貌似和之前就只有这么一个区别?

@88250
Copy link
Member Author

88250 commented Apr 20, 2022

应该是这样的吧…… 允许编辑的话可能会有冲突,还在考虑。

@mozhux
Copy link

mozhux commented Apr 22, 2022

应该是这样的吧…… 允许编辑的话可能会有冲突,还在考虑。

不能编辑的话功能性缺失好多,希望可以搞一下,多验证一下嘛

@88250
Copy link
Member Author

88250 commented Apr 22, 2022

@mozhux 嗯,得再考虑一下。

@fanglypro
Copy link

fanglypro commented Apr 22, 2022

应该是这样的吧…… 允许编辑的话可能会有冲突,还在考虑。

不能编辑的话功能性缺失好多,希望可以搞一下,多验证一下嘛

能编辑的话确实很方便,但是D大目前考虑的设计形式下,编辑功能意义不大,因为需要浮窗才能查看完整上下文,在浮窗中编辑更方便

思源如果能做到像roam那样能够直接在反链面板中通过折叠展开与点击面包屑查看上下文(相当于把浮窗直接嵌入反链面板中),这时候反链面板直接编辑的作用会比较大,不然不如用浮窗编辑方便

@woaihuangxueying
Copy link

新人试用了现在的反链面板,
每次查看上下文都要等待几秒打开浮窗,非常非常非常地打断思路
希望可以直接在反链面板展开、折叠上下文。
还有就是希望反链面板搜索可以支持模糊搜索,多关键词搜索。
期待这个功能的改进。

@haogeek
Copy link

haogeek commented May 5, 2022

用了几个月思源笔记下来感觉最大的问题就是在于反链面板,也就是反链整理成文的操作体验,这也是我觉得思源笔记相比RR、Logseq之流的主要缺陷,而这其中主要的原因就在于对浮窗的过度依赖,和对右侧边栏作用的理解差异。

通过反链面板打开块浮窗,在浮窗里早就可以实现编辑了,也早就可以显示富文本、面包屑,看样子浮窗完全可以解决上面聊到的种种问题,那为什么还需要改反链面板?很显然,答案只有一个——浮窗不好用。

浮窗对于正向链接来说是很好用的,百科类网站那种浮窗体验已经存在了这么多年了,感觉也很好,但浮窗对于反向链接的汇总和整理来说体验却很糟糕,主要体现在以下几点:

  1. 每次都需要鼠标定位停留,等待一秒左右浮窗才显示,而且还必须得是点在块标上才行,这个效率就比较低。
  2. 鼠标一挪走,浮窗就没了,想要持续显示或同时显示多个块浮窗就只能pin住。
  3. 虽然浮窗有pin功能,但浮窗总归是“浮“在UI上的,而不是“嵌”在UI里,所以总会遮挡掉一些东西。由于思源笔记的浮窗在整个界面里占的面积较大,这样整个屏幕最多只能放下3个浮窗,而这时候文档编辑区域已经被遮挡得所剩无几了,想要在pin住的浮窗和当前编辑的文档之间自由切换、转移内容(daily notes的常用操作)就很难做到。

Logseq之类的大纲笔记是怎么做的呢?它的右侧边栏是用来pin的,每个pin住的块依次排列,不存在遮挡,并且占用的屏幕空间并没有那么大,这样就可以很方便地把右侧边栏作为“素材库”,而在左边的文档编辑器里对其进行整理。甚至Logseq的右侧边栏还可以作为临时暂存区,这样可以把某些内容块暂时扔到这里,而切换当前编辑的文档时并不会影响到这部分暂存,在合适的时机再把它们从暂存区拿出来放到合适的文档中(想想iPhone整理桌面图标有多麻烦就知道这个意思了)。

各种大纲类笔记软件没有选择把反链放在右侧,而是放在文档底部,想必很大程度上就是为了把右侧边栏留出来,另一方面把反链放在文档底部也更方便展开反链,这样反链本身就组成了文档内容,一目了然,这一点之前也有很多人已经提到过。这是思源笔记跟其他大纲双链笔记相比的一个决定性差异,即思源笔记并没有把右侧边栏用作可以pin内容的“素材库”,而是把它作为了反链索引本身,并且默认情况下切换当前文档,反链面板就会变,除非通过快捷键以分屏方式打开反链面板,这跟“素材库”和“暂存区“式的操作体验相比就差的很多了。

那直接从反链面板点开原文让它以多页签形式排列行不行呢?答案是不行,因为这样做等于将当前所在的上下文切走了,切到了反链所在的那个文档,同时反链面板也会跟着变,这样来回切换非常麻烦。即便是后台打开页签,等到整理的时候也还是需要在多个页签之间来回切换。整理反链时,主的上下文应当始终保持在当前正在编辑的这个主题文档内,所有的反链都只是它的素材,而这些素材应当以平铺的形式展示,而不需要来回切换或进入到某个素材的上下文中。

总的来说,浮窗机制当然可以保留,但如何让多个素材内容块能够并列且持久显示,不受文档切换的影响,可以自由地在多个块之间转移和整理内容,才是思源笔记解决反链操作体验的根本。思源笔记本身UI可以自由分屏,这是很大的优势,但这个优势却没有很好地跟反链操作结合起来,是个遗憾,而且即便不考虑反链,目前的分屏也太拥挤了,体验并不好。

就目前的情况来说,简单的改进手段有以下几种,但都不如上述的右侧边栏用法好:

  1. pin住的浮窗能拖到第二台显示器上,这样就可以平铺了,不存在遮挡的问题,但一屏的区域里也铺不了多少,所以还是滚动排列最合适。
  2. 添加一个快捷键,在点击反链面板中的内容时能够在当前文档编辑器上向下分屏,并在分屏里后台打开页签。而且为了保持上下文的稳定,这个分屏可能需要做一些判断处理,或者说分屏需要区分主副,即副屏里切换页签时不会导致反链面板变化,因为此刻只不过是在切换主屏文档的不同素材,上下文还是应当维持在主屏文档上,也可以考虑通过快捷键来决定切换页签时是否切换上下文。目前向下分屏的快捷键只支持前台打开页签,且上下文会被切走。

@88250
Copy link
Member Author

88250 commented May 5, 2022

@haogeek

感谢建议,目前可以试试这个操作:不用联动反链面板(Alt+7),用文档反链页签,然后在反链条目中 Alt+Click 打开,这样就可以不受文档切换影响并且并列显示了。

@haogeek
Copy link

haogeek commented May 5, 2022

@88250 是说Alt+B打开的反链页签吧?我上面提到的“除非通过快捷键以分屏方式打开反链面板”说的就是这个,但使用Alt+Click打开反链条目的时候还是前台打开的,这样每次还是需要在切回到反链页签再点击其他的条目。但是如果当前激活的页签是反链页签,那么按Alt+Click会再次向右分屏,而不是直接排在反链页签右侧。

image

对于右分屏(包含反链页签和这批打开的反链条目)来说,还是只能一次查看一个页签的内容,没达到平铺的效果。其实如果是用Shift+Click在反链页签中打开反链条目,使其依次往下排列,这样是比较接近右侧边栏平铺效果的,但这样会导致反链页签(反链面板)被压缩,所以我才说反链面板最好不要跟显示素材的区域放在一起。而且点开的条目的越多,每个条目也会被压缩得越短,虽然每个条目内部有滚动条,但更好的方式是让所有这些条目有一个整体的滚动条

image

@88250
Copy link
Member Author

88250 commented May 5, 2022

大概明白你的意思了,编辑器式反链面板的改进估计不会包含这个,我们先解决反链编辑的问题。

“素材临时区”这个后面考虑,感谢提议。

@haogeek
Copy link

haogeek commented May 5, 2022

好的,这个改动要实现起来确实是个大工程,持续期待。

P.S.近期的一些优化和修复已经解决了我之前记录下的不少问题,赞!

@88250 88250 mentioned this issue May 8, 2022
@woaihuangxueying
Copy link

这个也是个大工程,除了关系图,感觉就是这个更新最重要了

@whuwangyong
Copy link

在整理反链时,将反链面板的内容拖动到正文后,好像无法撤销回去?

@88250
Copy link
Member Author

88250 commented May 9, 2022

@whuwangyong 仅支持在同一个编辑器中撤销。

@whuwangyong
Copy link

Alt + B 学到了! 但是只有光标在正文时才有效,光标在文档标题上时无效。

88250 added a commit that referenced this issue Sep 30, 2022
88250 added a commit that referenced this issue Sep 30, 2022
88250 added a commit that referenced this issue Sep 30, 2022
Vanessa219 added a commit that referenced this issue Sep 30, 2022
88250 added a commit that referenced this issue Oct 1, 2022
88250 added a commit that referenced this issue Oct 1, 2022
88250 added a commit that referenced this issue Oct 1, 2022
88250 added a commit that referenced this issue Oct 1, 2022
Vanessa219 added a commit that referenced this issue Oct 1, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
88250 added a commit that referenced this issue Oct 2, 2022
@88250 88250 closed this as completed Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 2, 2022
Vanessa219 added a commit that referenced this issue Oct 3, 2022
Vanessa219 added a commit that referenced this issue Oct 3, 2022
Vanessa219 added a commit that referenced this issue Oct 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests