惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
S
Schneier on Security
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
U
Unit 42
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
H
Heimdal Security Blog
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Cloudbric
Cloudbric
Google DeepMind News
Google DeepMind News
C
Cisco Blogs
The Cloudflare Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
MyScale Blog
MyScale Blog
F
Fortinet All Blogs
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
N
News and Events Feed by Topic
Security Archives - TechRepublic
Security Archives - TechRepublic
Forbes - Security
Forbes - Security
Simon Willison's Weblog
Simon Willison's Weblog
F
Full Disclosure
The Register - Security
The Register - Security
L
LINUX DO - 热门话题
Webroot Blog
Webroot Blog
Google Online Security Blog
Google Online Security Blog
AI
AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
T
Threatpost
Spread Privacy
Spread Privacy
小众软件
小众软件
AWS News Blog
AWS News Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks

Markdown

写了个工具, markdown 转 X Articles 系统级 markdown 所见即所得编辑器,支持 Quick Look 快速预览 我做了个很“奇怪”的 Markdown 网站:从格式转换器变成“阅后即焚”的 md 长文阅读工具 速度堪比 sublime text, zed 那种神速闪电速度的?最快最好的 markdown 软件有推荐吗? 马年来了,你码完了没? Markdone 码完 - Markdown 所见即所得编辑器上线了 - V2EX Typora 的换行和换段,几乎从任何一个编辑器迁移过来的人都无法接受吧 - V2EX [造轮子] 写了个纯前端的 Markdown 转 PDF 工具,专治 DeepSeek/ChatGPT 导出的排版强迫症 - V2EX 有没有一个融合了 vscode+obsidian 的对代码和 markdown 都支持出色的工具 - V2EX 各位有什么写 markdown 的方式吗? - V2EX 有没有符合下述条件的 markdown 数学笔记软件! - V2EX 求推荐一款适合做数学笔记的 markdown 软件! - V2EX 用 AI 搞了个小玩具 - V2EX Markdown 图片海报 - V2EX 手搓了一个 Markdown 图片海报,开源免费无水印 - V2EX 使用 doocs 微信公众号图床教程 有没有人觉得 markdown 并不适合拿来写文档? - V2EX 想要在 V2EX 分享自己用过的 APP,请问有啥好的编辑器推荐额 - V2EX 有什么支持原地渲染的 Markdown 编辑器,并且非常容易支持导出原始 Markdown 的? - V2EX Cmd Markdown 发布第十六次更新 -- 开启卓越 AI 写作之旅 - V2EX 内网需要一款 markdown 的笔记软件 - V2EX 求一款 markdown 编辑工具 - V2EX Markdown 图片魔法系列 5:明信片~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 图片魔法系列 4:图片剪影(图片轮廓/颜色替换)~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 图片魔法系列 3:图片缩放的新方式~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 图片魔法系列 2:图文混排新玩法~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 图片魔法系列:图片旋转/反转/滤镜~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 编写中文时的频繁中英文切换 - V2EX 请问一下,有没有直接适配知乎的 typora 主题 - V2EX markdown 嵌入固定内容 - V2EX 可以这样给 Markdown 的引用块设置小标题效果~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Cmd Markdown 八年后发布第十五次更新 -- 斗罢艰险又出发 - V2EX Markdown 的引用块可以更出片(样式&颜色)~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX Markdown 可以这样轻松实现「分栏」排版~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX 图片语法兼容 - V2EX gitee 的 markdown 如何新页面打开? - V2EX Markdown 中「备忘与警示类信息」的排版怎么玩更高级~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX 逆天脑洞:把 markdown 笔记写在 chrome 书签里! - V2EX Markdown 插图助手(复制地址/全屏/画中画)~优雅好用的 Typora 主题与增强插件 VLOOK™ - V2EX md 文件可以在代码块中创建目录或者跳转吗 - V2EX 让 Markdown 轻松支持 2x3x 高清图的自动适配~ VLOOK™让 Markdown「得寸进迟」系列 编辑于 37 分钟前 - V2EX 最近在写一个 MD 渲染器,求一些好看的 CSS 参考。 - V2EX 关于 Markdown 表格和图片 - V2EX Markdown 文档是应该用 H1 当 title,还是用 filename 当 title? - V2EX 表格内容助手(复制/十字光标/换行/画中画)-VLOOK™让 Markdown「得寸进迟」系列 - V2EX 开发了 markdown 转 emoji 的编辑器 - V2EX obsidian 有没有类似 typora github 的主题 - V2EX MD 里的 **-**1 为什么不是加粗? - V2EX 你们用 markdown 会在正文里再用一级标题输入一遍文件名吗? - V2EX obsidian 用图图床没有风险吗?隐私泄露或图床挂掉? - V2EX 请教一个 obsidian 的问题?如果不小心误删了文档里的文本,有办法恢复吗? - V2EX VLOOK™让 Markdown「得寸进迟」系列:图片的自动编号、自动题注 Typora 有阅读模式吗?
富文本编辑器我来啦🥹(鼻青脸肿 ing) - V2EX
llej · 2026-03-19 · via Markdown

我最近做了一个开源富文本编辑器: https://github.com/2234839/range-warp

image

以前看到为什么都说富文本编辑器是天坑?这个问题还以为和我没什么关系,结果现在就开始踩坑了🤣


为什么做

先说一下为什么已经有了这么多成熟的产品我还在自己做吧

首先我的场景是要给老的富文本编辑器添加书签和修订功能,但老项目已经有点克苏鲁(混沌化)了而且直接替换成其他编辑器显然也不具备可行性,没有足够的时间来做这件事情,所以我想自己做一层适配层来隔绝老代码的精神污染

怎么做

本来只是想要做一个适配层:就是为老富文本编辑器添加各种自定义容器(书签,修订)功能

结果经过研究发现只要实现通过下标选中任意一段文本可以为他添加某容器包裹或者移除某容器包裹居然就可以实现一个基本完备的富文本编辑器了!

于是这个适配层本身也能是一个富文本编辑器,还可以叠加在任何以 contenteditor 为基础实现的富文本系统上,我测试了一下叠加在 ueditor plus 上基本也没啥毛病,,叠加一层中间层果然能解决任何问题😂

但是

这里的细节太多了,太折磨人了,下面是我遇到的一部分问题的思考,还有更多的细节在代码里以及肯定还有好多我没考虑的(从右到左的文字啥的从来就不打算处理,我的场景用不到)

富文本包裹容器问题:所有加粗,高亮等样式效果都可以视为一个包裹容器,所以应用样式和取消样式就是计算包裹容器的范围应该如何处理。

现在有一个问题:跨段落的容器包裹如何处理?

1. 单容器元素包裹:直接创建一个元素将内容包裹进去
2. 分段包裹:为每个段落中的部分创建一个内联容器

   1. 这种方法就失去了包裹语义:考虑如果容器间被插入了容器,显然新容器无法被包裹,但是对于加粗高亮等容器而言这是可接受的

      1. 这是大部分编辑器的做法,解决插入问题他们依赖自定义数据模型和强控制用户输入的方案
   2. 为所有容器分配相同的 id ,来表示他们是一个组,并且这些元素本身可以视为锚点

      1. 剪贴板清洗( html 规范化):hack 剪切和复制功能,避免剪切锚点粘贴到其他地方导致包裹范围出现变化,也就是容器注册时应该要注册一下他是否可以被复制(注意不是禁止复制,是复制后的剪贴板中有文本,有 html (这个 html 没有禁止复制的容器,但容器内的其他容器的 html 是可以存在的))
3. 锚点虚拟容器包裹,通过两个锚点来确定一个范围,这样可以解决 2 的问题

   1. 锚点元素被剪切或者复制粘贴了怎么办?