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

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

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

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

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

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

  • 思源笔记

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

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

    28443 引用 • 119762 回帖
  • Q&A

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

    11152 引用 • 50647 回帖 • 52 关注

相关帖子

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

推荐标签 标签

  • Access
    1 引用 • 3 回帖 • 13 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 517 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    29 引用 • 202 回帖 • 54 关注
  • uTools

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

    9 引用 • 75 回帖 • 1 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 9 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 191 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 9 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 259 关注
  • Excel
    32 引用 • 29 回帖 • 1 关注
  • NGINX

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

    316 引用 • 547 回帖 • 4 关注
  • Electron

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

    16 引用 • 143 回帖 • 6 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    11 引用 • 15 回帖 • 1 关注
  • 知乎

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

    10 引用 • 66 回帖
  • Vue.js

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

    269 引用 • 666 回帖 • 1 关注
  • Solo

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

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

    1449 引用 • 10092 回帖 • 489 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 75 关注
  • LeetCode

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

    209 引用 • 72 回帖 • 1 关注
  • Kotlin

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

    19 引用 • 33 回帖 • 87 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • 千千插件

    千千块(自定义块 css 和 js)
    可以用 ai 提示词来无限创作思源笔记

    32 引用 • 69 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 261 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 80 回帖 • 1 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • OpenShift

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

    14 引用 • 20 回帖 • 687 关注
  • OkHttp

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

    16 引用 • 6 回帖 • 99 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 144 回帖