有点奇怪的列表项逻辑

本贴最后更新于 471 天前,其中的信息可能已经沧海桑田

我在无意中发现了这个情况。如果通过连续按回车的方式来创建列表项的话,它们列表项会紧密地排列在一起,它们在逻辑上也是一个整体。

如果在下面的新的一行上创建一个列表项的话,就会发现它跟上述的列表项不会紧密地排列在一起,在逻辑上,就已经是两个不同的列表了。

list.gif

不只是无序列表,有序列表和任务列表都是这样。

这是一个专门的特性吗?

首先,我认为这一点可能容易让普通用户感到困惑,容易第一时间疑问为什么它们之间会有那么大的距离,而且应该还不太可能马上就搞清楚这其中的逻辑吧。

其次,我觉得如果用户会在列表的紧跟着的下一行创建一个新的列表项的话,那么往往就是想要接上上面的列表吧。如果我想要在一个列表的下面再创建一个列表的话,我会下意识地先加一段说明文字或者手动多空一行。

用户指南中应该也没有这个说明。

我个人还是觉得不做这种区分比较好,用户如此就不会被弄混。又或者在用户指南中详细地讲述这个区分。

  • 思源笔记

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

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

    26871 引用 • 112067 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • @88250 我翻了一下用户指南,好像确实没有详细说明列表块和列表项块的区别和用法

    太简略了:(我觉得至少要说明一下这两种块的包含关系)

    image.png

    1 回复
  • 这是一个专门的特性吗?

    因为有两种块:列表块 和 列表项块 ,列表块之间隔得比较远,列表项块之间隔得比较近

    1 回复
  • syjack 1 赞同
    作者

    我知道这点,但我也认为这很容易让用户感到奇怪。因为其他的笔记软件和文档软件应该都不是这样吧,因为那样更符合逻辑。所以 Siyuan 的用户还要专门理清这个区分,有点费劲。

    1 回复
  • 好像是 Markdown 区分了这个?我没什么印象了

    1 回复
  • 有空的话麻烦 PR 补充,谢谢。

    1 回复
  • syjack
    作者

    不知道具体的 Markdown 规范,但大家一般也是靠空行区分不同的列表吧。

  • Imuvux 1 1 赞同 via Android

    个人理解这就是思源里 Markdown 的列表实现方法:

    1. 构造列表块(三个横叹号的块标);
    2. 在列表块中构造列表项(一个横叹号的块标);
    3. 列表块只能容纳列表项,而列表项作为容器可以容纳段落等各种内容,同层次列表项内容对齐;
    4. 列表项内的列表块就是该项的子层列表,子列表项的层级关系为:本层列表块/本层列表项/子层列表块/子层列表项,由此实现缩进;
    5. 不同列表块的列表项看上去在同一层次,但实际上分属于不同列表;
    6. 不同列表块可以组成超级块。

    确实不太直观。

    1 回复
  • syjack
    作者

    这是思源中特别的逻辑,如果习惯并弄懂了还好。但如果没弄懂,就很麻烦,会怀疑是不是 bug。

    一般情况下,大家在一个列表下面紧跟着创建一个新的列表项不就想要接着上面的列表吗?结果,它却成为了一个新的列表。

    如果不想这样做,就只能把光标移到最后的一个列表项的后面按回车,这样才能创建一个子列表项,假如用户知道这个办法的话。。。

    1 回复
  • Imuvux 1

    参考 这个 ,应该是 Markdown 原生特性。思源不同列表不好区分显示是因为它是所见即所得编辑,直接复制 Markdown 源码就能看出来不同列表是用空行区分的。不过可以拖动列表项的块标将其挪到目标列表块里。

    1 回复
  • syjack
    作者

    不过可以拖动列表项的块标将其挪到目标列表块里。

    我当时感到疑惑的时候就尝试拖动了,但发现无法直接拖动另一个列表项到目标的列表块中成为我想要的那个“同层级列表项”,它只能先成为“次级列表项”,然后我再取消缩放,从而让它成为“同层级列表项”。这个步骤有点麻烦,所以我就更想知道不同列表块的区分设计是不是一个专门的特性。

    说得有点绕,不知道你能不能理解。

    1 回复
  • 只要你理解了「列表块只能包含列表项块」这个逻辑,就知道什么情况应该拖动哪个块标了

    认真看这个是怎么拖动的:

    2 回复
  • syjack
    作者

    不得不说的确复杂,光是我在打字用词上就要注意列表块和列表项。我上一个给别人的回复中,没有说清楚。当列表只有一个列表项的时候,它就只有列表块的标志,没有列表项块的标志,此时是没有办法直接拖拽完成吧?

    1 回复
  • syjack
    作者

    当我一顿随意的拖拽操作(也许还包括了取消缩进行为,我忘了)后,发现列表项们的块标让我眼花缭乱,有的只有列表块的块标。这时候就不能理所当然地认为它们都是那样的“列表项”,从而进行随意地拖拽,只能仔细留意它们的块标再来进行拖拽操作。

    list2.gif

  • 当列表只有一个列表项的时候

    这个时候就没必要多选了再拖块标了,直接拖前面的圆点/序号/方框:

    image.png

    @syjack 看到这条回帖了吗?
    JeffreyChen
    看到了,谢谢分享,原来还能这样的操作,这也是一种区分。理解起来有些费劲呀,针对性操作比较多。
    syjack
  • hihaojie via Android

    列表块 只有单行内容时,仍然显示 列表项块 的图标,会更直观些,有助于用户理解。之前有该功能,后来经过讨论取消显示了 😓

    前两天我对该需求发的帖 能否为列表项中的首个段落块添加段落块标识? - shuojie 的回帖

请输入回帖内容 ...

推荐标签 标签

  • Linux

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

    957 引用 • 944 回帖
  • V2Ray
    1 引用 • 15 回帖 • 4 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 814 关注
  • Typecho

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

    12 引用 • 67 回帖 • 447 关注
  • H2

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

    11 引用 • 54 回帖 • 677 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 2 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    27 引用 • 295 回帖
  • Q&A

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

    10384 引用 • 47165 回帖 • 62 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 1 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 40 关注
  • 新人

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

    52 引用 • 228 回帖 • 1 关注
  • 人工智能

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

    121 引用 • 323 回帖 • 1 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    948 引用 • 1460 回帖 • 1 关注
  • 开源中国

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

    7 引用 • 86 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 639 关注
  • 反馈

    Communication channel for makers and users.

    120 引用 • 906 回帖 • 284 关注
  • Maven

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

    188 引用 • 319 回帖 • 236 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    694 引用 • 537 回帖 • 1 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    38 引用 • 158 回帖
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 14 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 470 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 41 关注
  • 小说

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

    32 引用 • 108 回帖
  • OpenStack

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

    10 引用 • 1 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 109 关注