希望加入【相对标题】特性

  • 传统文档一般设有六个级别的标题,用户在编写文档时需要手动地为标题设置层级。

  • 这种设置带来一个麻烦:

    • 用户在编写文档的时候,思路是变化的,标题之间的相对层级也是变化的。例如有一篇文档,我设置了 3 个一级标题,但写到后面,我发现这 3 个一级标题的内容可以归属到一个更大的标题下面。这时候,我需要手动给这三个一级标题降级。
    • 或者主题的层级深入到六级以下,这时候六级标题就不够用了。
  • 怎么办?

  • 我发现 logseq 有一个【自动标题】功能。用户只需要把当前节点设置为标题,不需要知道这是几级标题。标题的字体大小也会随着缩进层级而自动改变。

    • 20250625053425.webp
  • 这种【相对层级】的做法值得学习,希望思源也加入。

  • 思源非常优秀,但是我喜欢类似于 workflowy 那样的节点笔记,层级结构分明。所以我一直没迁移到思源。

  • 如果思源的每一个页面文档都可以像 workflowy 或 logseq 那样,我马上搬家。

  • 哈哈!

  • 思源笔记

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

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

    26277 引用 • 109244 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • qiancang via Android

    logseq 能实现这个功能的原因是它是个大纲笔记,每个块都有明确的层级,很容易就能判断出该设置为几级标题。思源是文档型的,只有你肚子里的蛔虫知道你想设置为几级标题。

    1 回复
  • HugZephyr 1 赞同

    平时如果用不到 6 层标题的话, 建议平时养成习惯: 直接以二级或三级标题作为根标题

    这样, 如果需要在外层加一层的话, 在前面加个一级标题, 然后使用转换功能即可

    image.png

    2 回复
  • jihui 1 评论

    其实还有更方便的方法,在大纲面板鼠标拖动就能轻松改变大纲层级关系了

    并不比加个一级标题然后转换方便
    JeffreyChen
  • kuaiji via iPhone
    作者

    跟是不是大纲笔记没关系。文档型笔记也能完全支持这个功能。

    所谓的【相对标题】是指标题的层级不需要用户手动指定,用户也不要关心这是个几级标题,只需要对其设置“这是一个标题”,标题的层级自己会随着内容的缩进和伸出而动态改变。 这不仅是一个方便用户的特性,而且比传统的六级标题设计更符合逻辑,更灵活。

    logseq 其实使用体验已经停落后的了,但因为有这个功能,挽留了我,用起来是真的爽。

    2 回复
  • 答案就在问题上,你也知道缩进反缩进才能改变标题层级,那就是必须要有层级才能区分,而大纲就天然有这种特性,类似列表块。文档型的就不强制层级关系,所以实现不了啊。

  • 将一个块转换为标题,鬼才知道你想转换为几级标题 huaji

    如果我要在两个三级标题之间的段落中转换一个标题,你觉得我是想转换一个同级别的三级标题,还是低一级的四级标题?

    实际上我可能是要转换一个二级标题

    1 回复
  • kuaiji
    作者
    • 而大纲笔记是采用层级分明的上下级结构。一个内容是谁的上级,是谁的下级,在结构上是很清晰的。
    • 传统文档模仿纸张,是平流式的,尽管内容在语义上有上下级包含关系,但结构排版上都是平级的。在大纲笔记看来,传统的文档的每段内容都是处于最高级。如果要将传统文档的某个段落设置为标题,那么这个标题就是最高级的一级标题。虽然不合于内容语义上的层级安排,但是从内容结构来讲,这样做没问题。
    • 这种做法可能很多人不好接受,因为人的传统阅读习惯就是从纸张排版带过来的。但是在电子设备,我觉得没必要对纸张那种流式排版有执念。那 workflowy 那样的层级笔记,虽然看起来丑,但是层级结构分明,可以随意 zoom in 和 zoom out。反而是有易于读者把握文档的框架结构,进而有利于读者阅读的。
    • 传统平流式文档的段落结构层级和内容语义层级往往是割裂不统一的。workflowy 这样的大纲笔记,看起来很别扭,但是却统一了内容语义层级和段落结构层级.
  • qiancang via Android

    自己会随着内容的缩进和伸出而动态改变

    动动你的脑瓜子想一想,没有大纲或者列表,哪里来的缩进?而列表在思源不是必须的。

    2 回复
  • kuaiji
    作者

    思源不是基于”块“的吗?那么块与块之间可以有缩进关系。

    传统流式文档,每个段落(块)都是平级的,用户自己手动为标题设置层级。内容之间的层级和包含关系,依靠用户的手动维护。

    但是这不是我想要的,一个段落(块)属于谁的下级,就缩进到谁里面去。整个文档呈现一个树形结构。

    某些块被设置为标题,那么应用程序根据“块”的缩进关系判断层级。

    呈现的结果就是标题的层级根据用户的缩进伸出而动态改变。

    用户不要操心这是几级标题,这种设计明显更灵活,更有伸展性。

    1 回复
  • kuaiji
    作者

    logseq 虽然也保留了六个层级的传统设计,但是 logseq 的“auto heading”功能用起来真的爽。

    不需要用户手动调节标题层级,哪怕你的标题层级深度超过六级,也没关系。

  • 那么块与块之间可以有缩进关系

    思源没有这种东西,只有列表才有缩进

  • kuaiji
    作者

    这不是我想要的。

    我想要的是效果是:我不想手动为设置标题级数。一个段落(块)是谁的下级,就缩进到谁下面去。一个块被我设置了标题,那么应用程序根据这个块的缩进位置自动判断它是几级标题。

    简而言之,不要用传统的 html 那套六级标题,而是用缩进(只用一个 tab 键)表示标题的层级关系。

    logseq 的“auto heading”就是采用了这种方式,用起来爽多了。

    2 回复
  • Imuvux

    块缩进都已经被否决过很多回了,至于基于缩进构造标题,我的建议是:

    从头 pr.png

  • HugZephyr

    只用一个 tab 键

    我没用过 logseq, 不太理解你说的是哪种形式:

    1. 设置了自动标题后, 只需要按一次 tab;
    2. 设置了自动标题后, 还需要按多次 tab, 是第几层就按几次

    如果是只需要按一次 tab

    那我比较好奇, 如果在这里按一次 tab 键, 应该是 标题2 还是 标题1.2

    image.png

    如果是需要按多次 tab, 那你这个需求, 要怎么解决

    不还是需要手动给这三个标题加缩进么

    我设置了 3 个一级标题,但写到后面,我发现这 3 个一级标题的内容可以归属到一个更大的标题下面。这时候,我需要手动给这三个一级标题降级

  • HugZephyr

    可以不用回复了, 我特意下了一个 logseq, 玩了一会, 终于是找到你说的了, 发现思源应该无法做到 logseq 里相对标题的那种效果

  • ZQ11

    我觉得你说的这个功能很实用

    但是我没有话语权 有话语权的前面几个 他们又很快冲出来说实现不了了。。。

    精神上支持你。

请输入回帖内容 ...
kuaiji
与其感慨路难行,不如早点睡觉

推荐标签 标签

  • 浅吟主题

    Jeffrey Chen 制作的思源笔记主题,项目仓库:https://github.com/TCOTC/Whisper

    1 引用 • 31 回帖 • 1 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 184 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    188 引用 • 1057 回帖 • 1 关注
  • 30Seconds

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

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

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

    19 引用 • 33 回帖 • 85 关注
  • Ngui

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

    7 引用 • 9 回帖 • 407 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    107 引用 • 127 回帖 • 343 关注
  • Access
    1 引用 • 3 回帖 • 4 关注
  • danl
    179 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2040 回帖
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖 • 3 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    59 引用 • 22 回帖 • 8 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 12 关注
  • Android

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

    336 引用 • 324 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 70 关注
  • jsoup

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

    6 引用 • 1 回帖 • 496 关注
  • AWS
    11 引用 • 28 回帖 • 8 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 167 关注
  • Notion

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

    10 引用 • 77 回帖
  • 新人

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

    52 引用 • 228 回帖
  • RYMCU

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

    4 引用 • 6 回帖 • 62 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • LeetCode

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

    209 引用 • 72 回帖
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 264 关注