恭喜思源发布 1.0,同时来解决几个疑问

恭喜

有段时间没跟进思源笔记的更新状态了,首先恭喜思源走到 1.0 版本 🥳

@88250

发帖原因

之前我就一直在准备在 1.0 后写文安利思源笔记,后来有段时间没关注,1.0 发布之后,我把这段时间新增的特性全部折腾了一遍,打算在近期把素材整理出来然后安利一波。

提前安利有提前安利的做法,宣传的目标有叫好和叫座,以现在版本的稳定性和易用性来说,叫座可能没法过分奢求,但是先打动一批有能力叫好的进阶用户是完全没问题的,这样也有利于将来的风评。为了打动这个人群,有一些已经有明确计划的开发安排完全可以先拿出来画个饼,所以我也想顺便问问自己比较关注的几个功能后续是怎么考虑的。

反链的核心矛盾

在当前版本,我觉得最影响使用体验影响是反链的形态,0.6x 版本的时候我在 GitHub 上提过列表块导致的反链提及重复问题 #1013,修正之后去重的逻辑还是有一点问题,然后反链改成了树状。

我一直相信这个形态只是一个过渡,后面就没再关注,但是 1.0 没有改进这个反链,所以想问问后续是怎么考虑的。我个人感觉如果保持这样的话,反链功能就相当于没有了。因为在 roam research 之前,tiddlywiki 和一些别 wiki 系统都可以通过各种内置 marco 显示出「当前文档被哪些文档引用了」,但这种特性一直没怎么受人们重视,以我自己的使用感受来说,wiki 系统虽然列出了引用当前文档的文档,但时间一久我并不愿意费劲点进去查看引用处,可是不点进去的话光看那些文档名也看不出什么,渐渐地连文档名也不想看了。roam research 最大的改进是在反链当中具体显示被引用处的上下文,这样一来人们才愿意去看反链,解决了传统 wiki 的引用列表沦为冷板凳的问题。

思源现在的反链模式恰恰又碰上了传统 wiki 的老问题,最重要的上下文信息反而被藏得最深,需要很多次展开才能看到。上层块的信息可能也不是完全没用,但我想它的重要性应该是远远远远不如上下文的,因为上下文几乎是直接决定了用户愿不愿意去看反链,所以上下文应该处于一个用户无需手动点击就能一眼看到的位置。现在我在思源里虽然还开着反链面板,但一次都没再看过了,反链功能几乎等同于没有了,跟以前用传统 wiki 的情境如出一辙。

我觉得这个问题的核心矛盾在于,软件演进的历史已经证明了上下文是反链最重要的元素,反链面板里的其它东西都应该为它让步,不能喧宾夺主。

设想

上级块和文件夹信息可以被包含在原来的反链条目上,以倒序面包屑的形式呈现(即最后一级在最左边),这是我的粗略想法。但是后来我把 GitHub 和链滴上所有的新帖子看了一遍,这个链接这个链接里开发者提到用「 widget block 插件」来解决这个问题,能不能大致描述一下这个方案最终达成的效果是怎么样的?

假如开发者提到的这种解决方案的效果是通过一个特殊的嵌入块把上下文信息附加到文档末尾,那我还是认为最重要的上下文信息应该呈现在最显眼的位置,也就是侧栏,其它信息哪怕忍痛砍掉也应该让位于上下文。roam research 等软件把反链展示在末尾是因为它们把侧边区域用来搞分栏了,并不是因为底部展示反链的方案更好,可是我竟然看到有用户发帖建议思源把反链也弄到末尾去,实在是不敢苟同。

跟容器块缩放的配合

还有一个问题我现在不太清楚,将来实现了容器块缩放之后,当用户聚焦到某一个容器块上,用户理应动态地看到当前容器块内部的反链(即当前聚焦的容器块内的元素被谁引用了),假如是用附加到文档末尾的一个特殊块来展示反链,是不是就不太好跟容器块缩放配合了?如果是的话,反链还是只用侧边栏展示就好了。

别的疑问

最后再问两个别的问题:

  1. 插件系统在 2.0 前会落地吗?
  2. PDF 标注在 2.0 前会落地吗?

如果会的话,我就先画饼宣传。

祝福思源!

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    你好,反链面板目前暂时没有更新计划,我们打算通过挂件机制实现一个反链挂件块进行补充,具体效果还没有设计,比如上下文具体是什么需要考虑。

    容器缩放近期版本会开始实现,反链还没有考虑,感谢提示,这个可能在页脚展现就会比较恰当。

    挂件块是一种块,技术上通过 <iframe> 渲染,通过调用 JS API 来读写数据,实现方式是纯前端的。这样设计主要是考虑到以数据为核心,并且能跨平台。应用级插件机制目前还在考虑,v2 中估计不会实现。PDF 标注跳转还没去研究可行性和评估时间,尽量在 v2 中有所进展。

    感谢关注和支持!

  • macdfree
    订阅者

    对于反链查看功能,按照我理解可以通过模板 + 动态查询块实现。但我实际操作后有两个问题没有解决,希望 @88250 帮忙解答

    初步效果为:

    image.png

    问题为:

    1. 测试发现模板中不支持动态查询块,请帮忙确认;
    2. SQL 语句中的 def_block_root_id 字段的条件应该取当前文档的文档块 id,但现在好像获取不到。
    1 回复
  • jaychou135
    订阅者

    个人也认为反链在侧栏显示更好,这样不用滑到页尾(尤其是长内容)就能看到相关联的内容。

  • 88250
    订阅者

    你好,模板支持 sql 函数的,帮助文档里面应该有写;文档块 id 可以通过条件查询得到,这个似乎做成内置变量更好些,稍后会改进,谢谢提示。