说下一直困扰我的问题

本贴最后更新于 1064 天前,其中的信息可能已经事过境迁

思源笔记编辑器里是有 block 的概念的,一个 block 可以理解为一个段落。在手动编辑过程中,一个段落一个回车这个没有问题,但是通过复制粘贴网页时,可能出现一个 block 中对应了多个段落的情况,如图所示:

image.png

这个其实是多个段落,应该对应到多个 block 当中,现在这种情况我只能一行一行的敲回车把这一大段的内容拆开到多个 block 当中。能否出一个功能能按照换行符自动拆分 block?或者在粘贴的时候就按照换行符自动拆成 block。

然后再说下 block 的这种设计方式,我个人认为 block 和自然的段落就应该是一对一的关系,不应该出现一个 block 可以对应多个自然段落(手动编辑时可以通过 shift+enter 实现),这样反而复杂了整个文章形式上的架构,在编辑文章时要考虑文章整体和 block 的关系,还要考虑 block 和自然段落的关系,在同一个 block 中如果有多个自然段落的行间距是要小于两个 block 之间的行间距的,文章就会显得很割裂,比如这个图

image.png

可以看到上面和下面虽然语义上是同一个模块的,但是由于 block 和 block 内自然段落的存在看起来非常的奇怪,当然可以通过敲回车再一一调整好。但这个其实已经对文章编辑造成一定的负面影响,最简单的解决方式就是自然段落(有换行符的)默认就是一个 block,有需要合并的 block 可以使用 super block 处理。

这个是我在使用笔记过程中遇到的一些困扰,希望开发者能考虑一下,大家也可以讨论一下。

  • 思源笔记

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

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

    25376 引用 • 104805 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • sorceress via macOS

    同意,block 的概念很好,但目前很难看出 block 的边界/分清不同 block (需要把鼠标放到左边才能看到当前的 block),让人操作时容易产生困惑

    1 操作
    sorceress 在 2022-06-07 12:53:33 更新了该回帖
  • qylixin via macOS
    作者

    block 是为了编辑内容服务的,而且只是在有限的范围内(双链、反链),现在出现了编辑内容时还要考虑 block 的存在而调整内容或格式,有点本末倒置了。

    一句话概括的话,block 是手段而不是目的。

  • 在文本编辑中有软回车与硬回车两个不同的概念, 块内换行对应软回车, 分块对应硬回车, 各有各的作用~

    1 回复
  • qylixin 1 评论 via macOS
    作者

    软回车在文本编辑中解决了什么问题?它存在的必要性是什么?

    解决需要换行但不需要分段的情况, 比如诗歌
    shuoying
  • foolishman83 1 赞同

    软回车很有用啊,比如法律学习中,对于一些法条下面还有多个款项的,像是第 23 条第二款第三项之类的,我一般都是将他们换行但不分段,因为他们逻辑上是与前面内容不可分割的,换行是为了美观,不分段是确保他们在一个段落块,这样就确保我在引用包括随机学习的时候整条内容都能引用或者显示出来。因此,软回车很有必要。软回车和硬回车有其各自应用场合。

    1 回复
  • qylixin via macOS
    作者

    我的理解,超级块就可以解决你的问题

    1 回复
  • 从视觉外观上,软换行能够从视觉上直观的体现出“换行但内容相关(和硬换行区分明显)”。但是超级块如果不做特殊样式设计的话,没办法有同样一目了然的效果。

  • 关于软硬换行批量切换,有现成的 quicker 动作可以做到。

    1 回复
  • qylixin via macOS
    作者

    quicker 动作指的是快捷键吗?还是。。?

    1 回复
  • 思源笔记块拆分为多个块 - by 风渡巛 - 动作信息 - Quicker

    quicker 的一个动作,类似一个小程序吧,依托 quicker 才能运行,试试看就知道了。

  • 概念 应该保持简单。

    一个 block 对应一个段落没啥问题。

    如无必要不增实体--奥坎姆剃刀。

  • 我觉得对于复制粘贴过来的内容,一个段落对应一个段落块,而自己在编辑时,根据自己的需求再自行 Shift+Enter 块内换行。

请输入回帖内容 ...

推荐标签 标签

  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 572 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • wolai

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

    2 引用 • 14 回帖 • 2 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    170 引用 • 1529 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 4 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 115 关注
  • etcd

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

    6 引用 • 26 回帖 • 545 关注
  • 笔记

    好记性不如烂笔头。

    310 引用 • 794 回帖
  • 链书

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

    链书社

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

    14 引用 • 257 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 740 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 3 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 31 关注
  • flomo

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

    6 引用 • 141 回帖 • 1 关注
  • Ruby

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

    7 引用 • 31 回帖 • 249 关注
  • WebComponents

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

    1 引用 • 9 关注
  • Quicker

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

    37 引用 • 157 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    116 引用 • 54 回帖 • 1 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 650 关注
  • Kotlin

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

    19 引用 • 33 回帖 • 77 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    124 引用 • 74 回帖
  • 智能合约

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

    1 引用 • 11 回帖 • 1 关注