建议在父文档自动建立子文档的引用块

本贴最后更新于 755 天前,其中的信息可能已经事过景迁

建议借鉴 Notion 的功能:

当新建子文档时,在当前父文档新建子文档的引用块。

在父文档删除子文档的引用块时,同步删除子文档

image.png

image.png

  • 思源笔记

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

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

    25379 引用 • 104814 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • flowers65 via Android

    附议

  • drawone

    不是所有父文档都需要显示子文档链接。

    建议如果增加这个功能的话,加一个开关,开关可以显示在眉头位置。

  • Wolke via Android

    反对,很多时候是没有必要的,且不一定插入到你想要的位置,可以通过拖放的方式加入到想要的位置,或者使用目录插件,而且双链也能自动创建

  • leolee 1 赞同

    这个特性很久之前就已经投票讨论过了,没有加上是因为

    1、并非所有场合都需要自动插入子文档列表,需要插入的场合可以使用挂件、插件、代码片段、模板、手动块引用等满足

    2、块引用在思源里的其他地方都没有这样的耦合特性,没有必要在文档块这里增加一个特例,否则“删除块引用是否删除目标块”这个行为就会出现不一致,尤其是很多用户经常会在文档块和标题块之间转化,这种不一致更会让人困惑

    3、由于思源的块引用本身并没有存储块的各种属性而是统一只存储了锚文本和目标块的 id,如果要实现“删除块引用同步删除子文档“的特殊行为,就必须在删除块引用时加上一个额外的判断,这可能在块数量较大时造成卡顿和延迟;而如果要求通过块引用就能够判断目标是否子文档的话,那就必须在文档移动、文档和标题转化等等场合都加上对相应块引用的判断和操作,这里也可能造成卡顿和延迟

    4、除了 notion 和其模仿者之外, 实体笔记和各种有类似文档树特性的网站、笔记软件乃至出版物都没有普遍实现这种把文档树结构半强制的显示到内容中的做法, 可见它也没有实现上的普遍性

    所以这个特性会造成本来不相关的“文档树结构”与“文档内容”耦合, 但是并没有可见的必须性,也没有经过验证的普遍性,在一些特定的场景还会造成难以避免的内容干扰;在思源现有特性基础上实现它需要引入很多额外的复杂性和潜在的延迟和 bug,对思源来说可能并不适合作为一个内置特性加入。

    如果需要的人很多的话插件系统在 2.9.0 实装之后应该会有插件实现的,目前的话集市挂件和模板都有可以实现子文档列表功能的方式,可以尝试一下

  • 这个确实是一个麻烦事,我觉得要做这个功能的话,可能得考虑:

    • 有些文档不需要插入子文档引用;
    • 有些需求是不插入引用,这样不会影响关系图;
    • (第三方开发者)在未同步时,自动建立子文档引用可能导致同步冲突,最好是在重命名、新建、移动等操作之后尽快修改引用,不要等到打开文档时更新;
    • 有需求是 希望链接整行可点击;
    • 避免干扰搜索结果;

    P.S.要自动更新的话,目前可以用 listchilddocs 挂件(需要修改 config.js 关闭安全模式)凑合一下。

推荐标签 标签

  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 708 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    199 引用 • 542 回帖
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    345 引用 • 745 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 166 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 397 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 366 关注
  • 深度学习

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

    54 引用 • 44 回帖
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 410 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖 • 1 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    166 引用 • 314 回帖
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 2 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 2 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 507 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 177 关注
  • OneNote
    1 引用 • 3 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖 • 1 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 448 关注
  • Postman

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

    4 引用 • 3 回帖 • 3 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    952 引用 • 944 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    411 引用 • 3588 回帖
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    267 引用 • 666 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 3 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 726 关注