建议借鉴 Notion 的功能:
当新建子文档时,在当前父文档新建子文档的引用块。
在父文档删除子文档的引用块时,同步删除子文档
建议借鉴 Notion 的功能:
当新建子文档时,在当前父文档新建子文档的引用块。
在父文档删除子文档的引用块时,同步删除子文档
这个特性很久之前就已经投票讨论过了,没有加上是因为
1、并非所有场合都需要自动插入子文档列表,需要插入的场合可以使用挂件、插件、代码片段、模板、手动块引用等满足
2、块引用在思源里的其他地方都没有这样的耦合特性,没有必要在文档块这里增加一个特例,否则“删除块引用是否删除目标块”这个行为就会出现不一致,尤其是很多用户经常会在文档块和标题块之间转化,这种不一致更会让人困惑
3、由于思源的块引用本身并没有存储块的各种属性而是统一只存储了锚文本和目标块的 id,如果要实现“删除块引用同步删除子文档“的特殊行为,就必须在删除块引用时加上一个额外的判断,这可能在块数量较大时造成卡顿和延迟;而如果要求通过块引用就能够判断目标是否子文档的话,那就必须在文档移动、文档和标题转化等等场合都加上对相应块引用的判断和操作,这里也可能造成卡顿和延迟
4、除了 notion 和其模仿者之外, 实体笔记和各种有类似文档树特性的网站、笔记软件乃至出版物都没有普遍实现这种把文档树结构半强制的显示到内容中的做法, 可见它也没有实现上的普遍性
所以这个特性会造成本来不相关的“文档树结构”与“文档内容”耦合, 但是并没有可见的必须性,也没有经过验证的普遍性,在一些特定的场景还会造成难以避免的内容干扰;在思源现有特性基础上实现它需要引入很多额外的复杂性和潜在的延迟和 bug,对思源来说可能并不适合作为一个内置特性加入。
如果需要的人很多的话插件系统在 2.9.0 实装之后应该会有插件实现的,目前的话集市挂件和模板都有可以实现子文档列表功能的方式,可以尝试一下
JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。
iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。
我来 wolai:不仅仅是未来的云端笔记!
正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。
JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。
大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
Communication channel for makers and users.
各种网址链接、内容导航。
Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。
快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
沉迷游戏伤身,强撸灰飞烟灭。
ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。
思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。
融合块、大纲和双向链接,重构你的思维。
Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。
Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于