一个插件的 idea:双链插入快查表

本贴最后更新于 345 天前,其中的信息可能已经斗转星移

在群里聊天时提到的,看看社区的需求。

大致来说,在聊到思源双链插入体验时,我表示思源的双链插入太麻烦了,又得打字,又得选择引用,这一点不如 ob 的双链编辑体验那么流畅。不如做个插件,夺了 [[ 的鸟位,然后在 ]] 增加语法功能,自动检查前方的 [[,然后使用中间的部分搜索引用。

然后有人表示番茄工具箱已经使用 @@ 作为语法解决了这个需求。并且还有人提出问题:这样怎么解决重名的情况?我觉得没办法。

后来又有人表示,这样也很难解决双链近义的问题。甚至可以说,双链创建越快捷,越容易创造一堆意思接近、但互相在反链面板里无法看到的东西。比如昨天使用 高兴 作为双链,今天使用 开心 作为双链,那两个无论在反链还是提及面板都无法互相看到。

因此目前就有了三个需求:

  1. 快速创建
  2. 不会受同名干扰
  3. 不会受近义干扰

ob 最多只能说比较好的解决第一个,第二个也是要加入动态搜索,第三个我不太清楚怎么解决的。

而思源第一个差一点,第二个跟 ob 一个水准的解决,第三个可以靠设置命名、别名来解决。

然后我忽然想到了一个主意:事实上,我们大部分的时间都在插入最常见的那十几个双链,那我们直接用插件实现一个快查表,然后直接从表里选中插入不就行了吗?

那么对于常用的那十几个双链,相当于天然完成了以上要求:

  1. 我们可以为快查表内东西使用首字母输入,也可以点击选择快查表的内容,反正一定比输入全部字母和汉字再搜索快。
  2. 快查表的双链直接绑定到特定的 blockID,如果同名的内容只有一个需要快速输入,那直接就解决了。如果多个需要快速输入,可以建立不同的快查表分组来处理。
  3. 快查表限定了你输入的内容,你不会在快查表里塞近义词的。

当然,对于零散的、不常用的、没添加到快查表的双链,近义问题还是没能解决,不过都如此不常用了,就只能说让它退散吧……

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    26318 引用 • 109420 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • player 2 评论

    丝滑打引用是个难题。

    全拼,简拼法。

    文档名前缀法。

    还有你说的快查表法。


    然后有人表示番茄工具箱已经使用 @@ 作为语法解决了这个需求。并且还有人提出问题:这样怎么解决重名的情况?我觉得没办法。

    重名不会重复创建文档的。

    另外,三个 @, 是子串匹配,匹配到了会原地改为引用。


    出现近义词在所难免,可以使用文档合并功能,其中一个被删除的文档,其名字会作为保留下来的文档的别名。

    不过这些办法都是半自动的,理论可行,就是用起来体验差。

    重名当然不至于重复创建文档,设想的场景是本身就有两个重名文档,自动化创建引用的时候不一定引用到你希望的那个文档上。近义词的问题在于,你可能不知道已经有近义词的文档了,除非你特意去搜索、去浏览全部文件。
    zxhd86
    @zxhd86 本身有重名的文档,以及有近义词的,都需要以后渐进的合并。当时不知道也没事。
    player

推荐标签 标签

  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    202 引用 • 1453 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 173 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 445 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 559 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 1 关注
  • 电影

    这是一个不能说的秘密。

    123 引用 • 608 回帖
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 615 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1444 引用 • 10083 回帖 • 509 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    133 引用 • 796 回帖 • 1 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    43 引用 • 44 回帖
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    76 引用 • 258 回帖 • 624 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 180 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 824 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖 • 1 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 2 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Outlook
    1 引用 • 5 回帖 • 2 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    497 引用 • 934 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    4 引用 • 16 回帖 • 195 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 248 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2389 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 51 关注