列表块段落块的困惑之二:两种块互相转化的一个细节困惑

  1. 首先,为了使得一段文本在被取消列表后,仍能维系原有引用关系
  2. 我选择引用上述文本所在的段落块
  3. 然后,取消列表,将列表转换到段落
  4. 查询引用关系,很好,还在
  5. 把刚才被转到段落块的文本再转回列表
  6. 查询引用关系,很好,仍然还在
  7. 再列表转成段落块
  8. 好,引用关系没啦。

如果一开始就只是段落块,则无需有 1、2、3、4,直接从第五步开始:对一段(被引用的)纯文本,先转列表,关系还在;再转回段落,关系没了。

如此一来,文档型和大纲型两种使用方式并未完全打通。

若干分钟前发的《困惑一》里的问题,还可以视作操作者对操作对象的选择问题(选段落还是选列表)。但本篇《困惑二》里,操作者始终没有,也没有哪个地方,哪个机会,去更改操作对象,没得选嘛,一开始就选择引用一个段落块了,不存在选择问题。但最后发现,引用关系没了,那可不是操作对象变更了?id 可为佐证。

一段文字,“-+ 空格”,然后“backsspace”,id 就变了,原来的段落块去哪了?这是 bug,还是软件的逻辑细节?

相关帖子

被采纳的回答
  • fangly 1
    订阅者

    段落块转列表块有两种方式

    第一种方式,也就是帖子中的方式,使用"- + 空格",这种方式会将段落块的 id 转移到列表项块上,所以原先引用段落块变成引用列表项块,因此将列表项改为段落块时,原引用就找不到了:

    6.gif

    第二种方式,使用菜单项中的转换为无序列表,这时原先的段落块还是段落块,不存在帖子中的问题:

    7.gif

    我觉得目前这个设计还挺好,用户可以根据自己的需求在上面两种方式中选择一个,不知道是有意为之还是无意之举。

    关于你的担忧,可以考虑通过“反链转移”功能解决,参考我在这个 issue 中的回帖:link,目前思源还没有这个功能,其他双链软件也还没有,不过有的软件通过“合并文档”功能对文档块间接实现了这个功能,但对于更细粒度的块我目前还没看到有软件实现了的。

欢迎来到这里!

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

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

    段落块转列表块有两种方式

    第一种方式,也就是帖子中的方式,使用"- + 空格",这种方式会将段落块的 id 转移到列表项块上,所以原先引用段落块变成引用列表项块,因此将列表项改为段落块时,原引用就找不到了:

    6.gif

    第二种方式,使用菜单项中的转换为无序列表,这时原先的段落块还是段落块,不存在帖子中的问题:

    7.gif

    我觉得目前这个设计还挺好,用户可以根据自己的需求在上面两种方式中选择一个,不知道是有意为之还是无意之举。

    关于你的担忧,可以考虑通过“反链转移”功能解决,参考我在这个 issue 中的回帖:link,目前思源还没有这个功能,其他双链软件也还没有,不过有的软件通过“合并文档”功能对文档块间接实现了这个功能,但对于更细粒度的块我目前还没看到有软件实现了的。

    1 回复
  • 其他回帖
  • suiji
    订阅者 作者

    实在没想到还有这么一出。

    但我倾向于认为这不合理。你说:“第一种方式……会将段落块的 id 转移到列表项块上”,我测了一下,id 转到的是列表块,不是列表项块。引用块看得不清楚,可以看嵌入块。第一种“-+ 空格”后,接着打回车,创建的新列表项会出现在嵌入块里,而第二种不会。

    也就是说,对一段文字“-+ 空格”后,文字所在段落块 id 发生转变,然后生成新列表项块的 id,而列表项块所在的列表块的 id 则由原文字段落块 id 转移而来。

    我认为这是 bug,因为哪怕是你误说的“列表项块”,它也和列表块一样属于“容器块”,而段落块属于“叶子块”。《用户指南》:“内容块在逻辑上分为叶子块和容器块,叶子块不能包含其他块,容器块可以包含其他块“。“-+ 空格”操作直接把一个 id 由叶子块挪到了容器块上,或者说直接把一个叶子块修改成了容器块,我觉得不合逻辑。

    当然,把这一方面内容定位为特例知识,列为特殊注意事项,自然也不是不行。

    @88250

融合块、大纲和双向链接
构建你永恒的数字花园
思源笔记是一款本地优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步

推荐标签 标签

  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    297 引用 • 539 回帖 • 310 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 580 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • LeetCode

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

    209 引用 • 72 回帖 • 2 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 587 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    7 引用 • 15 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    19 引用 • 21 回帖 • 18 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    317 引用 • 1392 回帖
  • 博客

    记录并分享人生的经历。

    262 引用 • 2367 回帖
  • 正则表达式

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

    29 引用 • 88 回帖 • 1 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    44 引用 • 551 回帖 • 405 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台,“下一代的社区系统,为未来而构建”。

    519 引用 • 4560 回帖 • 646 关注
  • 电影

    这是一个不能说的秘密。

    118 引用 • 591 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 34 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 24 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 5 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    97 引用 • 151 回帖 • 221 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    18 引用 • 178 回帖 • 111 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    134 引用 • 441 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    20 引用 • 57 回帖
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 2 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。目前全球有 28% 的网站使用 jQuery,是目前最受欢迎的 JavaScript 库。

    62 引用 • 134 回帖 • 773 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    4 引用 • 29 回帖 • 2 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 5 关注
  • V2Ray

    Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为 V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。

    10 引用 • 15 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    182 引用 • 318 回帖 • 495 关注