列表侧边竖线改进

本贴最后更新于 1121 天前,其中的信息可能已经渤澥桑田

目前改进之后的效果非常奇怪

思源:

image.png

workflowy:

image.png

我觉得这部分还是直接使用大纲软件的设计比较好,贸然自己设计一套和大纲软件不同的逻辑有很大风险,比如可以参考 workflowy 的设计。

其他的大纲软件以及 1.4.0 之前思源的竖线逻辑很简单,1.20 之前用 css 自己加竖线也是用同样的原则,对于一个列表块,如果不是第一级(等价于有父列表),就在左边加上竖线。类似这样:

.vditor ul ol,
.vditor ol ol,
.vditor ul ul,
.vditor ol ul {
    border-left: 1px solid rgba(19, 18, 18, 0.2);
    margin-left: -0.93em !important;
    padding-left: 2.5em !important;
}

还有这条线除了优化视觉外,它的真实语义是什么,个人认为其中一个语义是包裹子列表,从 roam research 的这个功能中就可以看出这层语义:

test63.gif

而思源现在的设计中,这条竖线失去了这层语义。

换个角度,这条线其实可以等价于下面图片中的大括号:

image.png

image.png

总的来说,对于竖线的实现逻辑有两种:

一种是按照其他的大纲软件或者说 1.4.0 之前思源的竖线逻辑,判断列表块有无父列表,有的话在列表块左边加竖线。

另一种是 wolai 的逻辑,判断列表项有无子列表,有的话从这一个列表项的圆点开始向下延伸,直到这一个列表项结束。

由于思源中有子段落块,和大纲软件有一点不同,所以可能还是按照判断列表项有无子列表来好一点点,更加统一。

其他大纲软件以及思源 1.4.0 之前:

image.png

wolai:

image.png

再补充一个 roam research 在列表上的设计供参考,roam research 中可以把当前列表项在列表中的路径非常清晰地显示出来:

image.png

  • 思源笔记

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

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

    22023 引用 • 87833 回帖 • 3 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Naro 1 评论

    回到软件操作,我觉得回车 +backspace 生成子段落,写完这个子段落后回车仍然是子段落,在空的子段落中回车回到父列表节点(也就是写完最后一段后回车两次回到父列表节点中)

    这个赞同,有这种效果,就把光标是否停留在子级给区分开了,回车后用不着再删一次。

    我发帖长篇累牍的,说的一直是这个意思,虽然有其他设计理念上的交流,但这个引文中说的操作是小改动,能提升不少效率。只不过跟 V 姐讨论的时候,太绕了,我都晕 😂 。

    表述方式不一样,有时候会觉得冲突,但其实不冲突的。我从「是否进入列表子级」的角度提的改进操作,但是不被采纳,现在想再嵌入多个子级块,总需要删掉父级列表标记。

    原来的表述方式:

    image.png

    之前讨论的:

    QQ 截图 20211009203052.png

    image.png

    @88250 @Vanessa

    1 回复
    1 操作
    Naro 在 2021-10-12 06:48:56 更新了该回帖
    “现在思源的操作方式就是这种,很麻烦”这个不对吧,在你的例子中,现在只要一个回车就能生成一个和 2 同级的列表项,在 wolai 中的操作方式才是这种。还有我觉得有必要提醒你一下,你的使用方式并不是主流的列表使用方式,这是造成你与 V 姐讨论绕来绕去很难说清楚的根本原因,建议尝试使用一下 workflowy、roam research、remnote、logseq、幕布等主流大纲笔记软件体验一下常规的列表用法,思源在列表上的操作和这些软件是基本一致的,思源从 1.2.0 开始就是按照 workflowy 进行列表操作的改进的,大部分用户的使用习惯也都是和 workflowy 类似的,因此虽然思源在列表中的子段落块操作上确实有一点不便,但大部分人用不到这个,所以从 1.2.0 到现在四五个月的时间,你是第一个提出这个操作需求的用户。常规的列表使用方式强调层级逻辑,会把你的子段落块全部变成子列表项,你的这种排版更适合使用标题来划分层级,也就是把“提炼核心内容”作为一个标题,下面的内容直接放在标题下面。
    fangly
  • 其他回帖
  • Naro

    主要还是样式太糙,太难看了,并不是侧边线要不要涵盖子级块的问题:

    image.png

    现在的侧边线是接续的太严实,一点缓和的空隙都没有,而且样式还有改进空间,所以看起来不好看!

    image.png

  • deerain 3 评论

    @Vanessa

    思源 v1.4.1:

    image.png

    workflowy:

    image.png

    roam research

    image.png

    大纲编辑器都是根据有没有子节点来决定有没有竖线的,现在 v1.4.1 的逻辑好像是下面有同级节点就会产生竖线,这样会搞出很多种比较丑的形状,像下面这张图里的 5 9 7 就跟被列表块孤立了一样,视觉上完全丧失了列表的结构性

    image.png

    1 回复
    连线要不要向上补长都是小问题,真正的问题是我这层里提到的
    deerain
    @deerain “有没有子节点来决定有没有竖线”这个是 wolai 的逻辑;其他的大纲软件或者说 1.4.0 之前思源的逻辑要更加简单粗暴,判断列表块有无父列表,有就在这个列表块左边加竖线,在 1.2.0 之前的远古版本自己改 css 加竖线也是用的这个逻辑。1.4.1 的竖线逻辑是错误的这个基本已经是共识了,但现在其实面临两个选择,一个是直接回退到 1.4.0 之前思源的逻辑或者说其他的大纲软件的逻辑,另一个是改成 wolai 的逻辑,我之前帖子没有表述清楚,可能有点误导,我刚刚又改了一下。
    fangly
    @fangly 这个选择题用 css 有个更统一的描述:到底该给什么样的元素加上 border-left?加在父列表上或加在子列表上都可以做出跟 1.4.0 一样的宏观表现,但是加在父列表上比较方便调整长度,这里 border-left 改短似乎是比改长好弄一点,要是 V 姐觉得两种都好改那就没有区别了。
    deerain
  • fangly 3 赞同 1 评论

    只能说使用方式不同,你按照 wolai 的逻辑用思源的列表,我按照大纲软件的逻辑用思源的列表。我确实能确定我要马上回到上一级,没有同子级的其它内容了,你说的这些我全部都会放在子列表中,所有大纲软件都是这种逻辑。两次回车成一个段落块你觉得常用,我是几乎用不到的。你可能以前用惯了 wolai 之类的,大纲软件的逻辑全部都是按照思源这样的。 而且,这不能叫做冗余的操作,两次回车回到上一级在大纲软件中是非常常用的操作。 我也可以说两次回车生成子段落块是冗余的操作,因为回车 +backspace 也能达到同样的效果。无非一种是第二个回车=shift+tab,另一种是第二个回车=backspace

    你举的这个例子,按照大纲软件的逻辑要么使用软换行认为是同一个块的内容,要么使用子列表说明是子层级。

    你强调美观,所以你会这样排版:

    image.png

    我强调逻辑,所以我会这样排版:

    image.png

    不同人的思维方式和习惯确实有很大差别。

    回到软件操作,我觉得回车 +backspace 生成子段落,写完这个子段落后回车仍然是子段落,在空的子段落中回车回到父列表节点(也就是写完最后一段后回车两次回到父列表节点中)。这种操作我觉得比较合适,对你来说,只是把最开始的回车 + 回车换成回车 +backspace,后面的换段操作和 wolai 相同,最后想从段落中跳回父列表,wolai 中操作就比较麻烦,思源只需要两次回车就好,整体操作上还是顺畅的。

    更何况,wolai 中想要生成子段落块,需要回车 +tab+ 回车/backspace,比我上面所说的操作还要麻烦。两次回车生成的并不是你想要的子段落块,而是上一级的段落块。思源现在在从列表项到生成第一个子段落块上的操作比 wolai 要方便。

    对于没有子段落的标准大纲的操作,还是学习“大纲软件之神”workflowy 比较好,不容易受到别人的质疑。

    1 回复
    4 操作
    fangly 在 2021-10-10 02:19:01 更新了该回帖
    fangly 在 2021-10-10 02:15:39 更新了该回帖
    fangly 在 2021-10-10 01:51:18 更新了该回帖
    fangly 在 2021-10-10 01:41:36 更新了该回帖
    支持你的观点! 大纲就用大纲结构,文档就用文档结构
    Achuan-2
  • 查看全部回帖

推荐标签 标签

  • CSDN

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

    14 引用 • 155 回帖 • 1 关注
  • Telegram

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

    5 引用 • 35 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • 宕机

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

    13 引用 • 82 回帖 • 52 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 47 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    197 引用 • 547 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 1 关注
  • C++

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

    107 引用 • 153 回帖 • 3 关注
  • 小说

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

    28 引用 • 108 回帖
  • etcd

    etcd 是一个分布式、高可用的 key-value 数据存储,专门用于在分布式系统中保存关键数据。

    5 引用 • 26 回帖 • 526 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖
  • 分享

    有什么新发现就分享给大家吧!

    247 引用 • 1792 回帖 • 7 关注
  • Log4j

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

    20 引用 • 18 回帖 • 32 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • LeetCode

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

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

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 622 关注
  • 微软

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

    8 引用 • 44 回帖
  • gRpc
    11 引用 • 9 回帖 • 61 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 388 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 584 关注
  • OpenShift

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

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

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

    10 引用 • 66 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 621 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 124 关注