简体中文

开发者工具 · HTML WYSIWYG 编辑器

Markdown 与 WYSIWYG:网络写作的两个答案

· 背景

html 降价 开发人员工作流程

Markdown 源代码和可视化编辑界面汇聚在经过审查的 HTML 上
原始 ToolAcre 矢量图

将轻量级标记和可视化编辑作为对手动编写 HTML 的摩擦的两种响应进行比较,并在输出质量和协作方面进行权衡。

没有人愿意手动编写 HTML — 以两种方法解决的共同问题开头

很少有作者愿意为每个段落、链接和强调标记输入完整的 HTML 标签。 Markdown 和 WYSIWYG 从相反的方向减少了这种摩擦:一个公开了轻量级源语法,而另一个则允许作者操作可视文档并随后检查生成的标记。

这两种方法都无法消除转换边界。 Markdown 需要一个为方言配置的解析器,而可视化编辑器需要浏览器 DOM 和允许的输出的规则。质量取决于这些选择和审查,而不是取决于一种方法总是创建更干净或更易于访问的页面的口号。

Markdown 的受限纯文本方法 - 历史日期位于存储库证据之外

Markdown 存储带有标点符号约定的纯文本,解析器将其转换为 HTML。受约束的语法通常会产生可预测的元素,并且可以很好地处理差异。该工作簿提供了日期和起源故事,但该存储库不包含该历史的来源,因此本文避免将其重复作为已验证的事实。

可预测性取决于方言和扩展。表格、任务列表、嵌入的 HTML 和换行规则可能有所不同。单独的 `.md` 文件并不能证明哪个解析器或选项生成了页面。团队应该固定他们的转换器并测试代表性文档。

WYSIWYG 的赌注:显示结果,隐藏标记 - 回顾视觉方法及其服务对象

WYSIWYG 呈现可编辑的渲染,并让浏览器管理选择、键入和命令。 ToolAcre 使用 contenteditable 和 execCommand,然后通过狭窄的清理程序运行 innerHTML 并公开源代码。作者可以在视觉和文本视图之间移动,而无需在每次编辑期间保留尖括号。

这种便利性允许依赖于浏览器的突变。该过滤器通过映射别名、删除表示和平衡标签来减少变化,但它不会创建自定义文档模型。因此,源头检查是工作流程的一部分,而不是可选的专家屏幕。

输出质量比较 — 将 Markdown 受限、干净的 HTML 与可视化编辑器的可变输出进行对比

Markdown 的约束结构可以在禁用原始 HTML 时生成紧凑、一致的词汇。可视化编辑器输出在过滤之前可能会有更多变化,因为浏览器命令在实时树上运行。 ToolAcre 缩小了结果范围,但不同的编辑器可能会保留跨度、类或内联样式。

比较实际配置的输出,而不是类别构造型。 Markdown 扩展可以发出复杂​​或不安全的 HTML,而严格的可视化编辑器可以发出一小部分。任何发布不受信任的贡献的系统都必须清理呈现的 HTML,无论创作语法如何。

表现力取决于所选的 Markdown 方言和编辑器白名单

Markdown 适合标题、段落、列表、引文、代码和链接。更复杂的表格、嵌套结构或表示可能需要特定于方言的语法或嵌入的 HTML。 ToolAcre 支持许多语义文本元素,但故意排除表格、图像、样式、类和表单。

相关问题是创作方法是否代表您在目标限制下所需的内容。这两种路径都没有普遍更具表现力。 ToolAcre 的可见源代码有助于及早发现其遗漏,而 Markdown 预览和生成的 HTML 检查也应该起到同样的作用。

工作示例:比较受支持的小子集而不是通用功能奇偶校验

在两个系统中写下标题、两个段落、强调短语、三项列表和公共链接。在每个管道应用其正常策略后比较 h、p、em 或 Strong、ul、li 和 a 元素。忽略缩进和属性顺序,除非目标合同使它们变得重要。

然后测试一项不受支持的需求,例如表格或图像。 ToolAcre 不会保留它; Markdown 行为取决于解析器配置。记录拒绝或扩展要求比强制功能奇偶校验更有用。保持文本相同,这样结构差异就不会与编辑更改混淆。

这不包括什么 - 特定的 Markdown 风格、静态站点生成器或编辑器插件

此比较不涵盖特定的 Markdown 风格、静态站点生成器、插件、协作平台或版本控制策略。它也没有对速度进行基准测试,也没有为每个团队提供首选选择。这些决定取决于作者、审稿实践和出版架构。

ToolAcre 的消毒剂不是通用的安全服务。它的输出子集和沙箱改进了本地检查,但接受恶意输入的服务器仍然需要适当的基于解析器的清理程序。 Markdown 渲染还可以生成必须跨越该边界的 HTML。

要点:按作者选择,而不是按意识形态 — 总结了权衡以及 ToolAcre 的 HTML WYSIWYG 编辑器如何适合作者需要可视化编辑但仍希望查看 HTML 的情况

按作者和目的地而不是意识形态进行选择。熟悉可读的简单语法和存储库差异的编写者可能更喜欢 Markdown;需要直接视觉格式化的作家可能在所见即所得的界面中工作得更快,并且源就在附近。两者都受益于检查生成的 HTML。

当支持的语义子集适合且可见标记有价值时,请使用 ToolAcre。当源文本和确定性转换更适合时,请使用配置的 Markdown 管道。持久的做法是对审查的源进行版本控制,固定转换策略并测试最终呈现的页面。