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

本贴最后更新于 626 天前,其中的信息可能已经事过景迁
  1. 首先,为了使得一段文本在被取消列表后,仍能维系原有引用关系
  2. 我选择引用上述文本所在的段落块
  3. 然后,取消列表,将列表转换到段落
  4. 查询引用关系,很好,还在
  5. 把刚才被转到段落块的文本再转回列表
  6. 查询引用关系,很好,仍然还在
  7. 再列表转成段落块
  8. 好,引用关系没啦。

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

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

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

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

  • 思源笔记

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

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

    18592 引用 • 69190 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6512 引用 • 29272 回帖 • 247 关注

相关帖子

被采纳的回答
  • 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

推荐标签 标签

  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 2 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 2 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • abitmean

    有点意思就行了

    21 关注
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • 微服务

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

    96 引用 • 155 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 318 关注
  • sts
    2 引用 • 2 回帖 • 146 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖 • 3 关注
  • 思源笔记

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

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

    18592 引用 • 69190 回帖
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 642 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 38 关注
  • wolai

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

    1 引用 • 11 回帖 • 1 关注
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 604 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    368 引用 • 1212 回帖 • 576 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 9 关注
  • Solidity

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

    3 引用 • 18 回帖 • 350 关注
  • 倾城之链
    23 引用 • 66 回帖 • 96 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 25 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 1 关注
  • Redis

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

    284 引用 • 247 回帖 • 182 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 1 关注
  • Log4j

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

    20 引用 • 18 回帖 • 43 关注