@ciolabs/html-email-formatter

中文文档
0.0.5发布于 2026/02/20Apache-2.0 WITH Commons-ClauseTypeScriptESM + CJS构建来源已验证近 30 天下载 2万

HTML 电子邮件内容的格式和预设

中文使用文档
文档目录7 节
  1. 为什么?
  2. 安装
  3. 使用量
  4. 有选项
  5. 如何运作
  6. API 密码
  7. emailFormatter(html, options?)

@ciolabs/html-电子邮件-formatter

用有条件的注释支持格式化并预设 HTML 电子邮件内容

电子邮件 HTML 经常包含 Microsoft Outlook 有条件的评论(<!--[if mso]>在格式化过程中需要特殊处理。 标准 HTML 格式化器可以打破这些注释或错误地对齐它们的缩进. 这个软件包在保留有条件的注释结构和白空间的同时安全地格式化了电子邮件 HTML.

为什么?

在构建 HTML 电子邮件时, 您常常需要包含对 Microsoft Outlook 兼容性 的有条件的评论 :

<div>
  <!--[if mso]>
<table><tr><td>
<![endif]-->
  <p>Email content</p>
  <!--[if mso]>
</td></tr></table>
<![endif]-->
</div>

标准 HTML 格式化器 :

  • 断开有条件的注释语法
  • 错误的打开和关闭标签
  • 将批注周围的重要空白位置移出

这东西能正确处理这些边缘案件.

安装

npm install @ciolabs/html-email-formatter

使用量

import emailFormatter from '@ciolabs/html-email-formatter';

const html = `
<div>
<!--[if mso]>
<table><tr><td>
<![endif]-->
<p>Email content</p>
<!--[if mso]>
</td></tr></table>
<![endif]-->
</div>
`;

const formatted = emailFormatter(html);
console.log(formatted);

输出 :

<div>
  <!--[if mso]>
  <table>
    <tr>
      <td>
  <![endif]-->
  <p>Email content</p>
  <!--[if mso]>
      </td>
    </tr>
  </table>
  <![endif]-->
</div>

有选项

前题接受两个选项 美丽 财务报告和审定财务报表 js-美丽数字 :

const formatted = emailFormatter(html, {
  indent_size: 4,
  wrap_line_length: 80,
  preserve_newlines: false,
});

如何运作

  1. 暂时结束有条件的评论 - 转换 <!--[if mso]>content<![endif]--> 改为 <!--[if mso]>-->content<!--<![endif]--> 因此格式化器可以处理内置的 HTML
  2. 保留注释白空格 - 用途 @ciolabs/html-保温-comment-白空间 以在注释周围保持间隔
  3. 格式化 HTML - 通过标准格式运行已修改的 HTML
  4. 恢复有条件的注释 - 转换回原有条件的注释语法
  5. 对齐缩进 - 确保打开和关闭标记的缩进一致

API 密码

emailFormatter(html, options?)

格式化 HTML 电子邮件内容,同时保留有条件的注释.

参数:

回返情况:

  • (字符串) - 格式化的 HTML

常见选项 :

  • indent_size (数目) - 缩进空格数( 默认: 2)
  • wrap_line_length (数字) - 包接前行长( 默认: 80)
  • preserve_newlines (boolean) - 是否保留已存在的新行( 默认: 真)
  • max_preserve_newlines (数目) - 要保存的最大连续新行( 默认: 2)

版本与发布记录

@ciolabs/html-email-formatter 共发布 6 个版本,首次发布于 2025/09/19;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.5latest2026/02/208 个月前
0.0.42026/02/208 个月前
0.0.32025/11/1811 个月前
0.0.22025/10/011.1 年前
0.0.12025/09/191.1 年前
0.0.02025/09/191.1 年前

关于 @ciolabs/html-email-formatter 的常见问题

@ciolabs/html-email-formatter 是什么?

HTML 电子邮件内容的格式和预设

如何安装 @ciolabs/html-email-formatter?

在项目目录运行 npm install @ciolabs/html-email-formatter,或使用 pnpm add / yarn add / bun add。

@ciolabs/html-email-formatter 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ciolabs/html-email-formatter 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ciolabs/html-email-formatter 可以商用吗?

@ciolabs/html-email-formatter 使用 Apache-2.0 WITH Commons-Clause 许可。声明的许可为 Apache-2.0 WITH Commons-Clause,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@ciolabs/html-email-formatter 的下载量有多少?

根据 npm 官方下载统计,@ciolabs/html-email-formatter 在 2026/10/10 – 2026/11/08 这 30 天内被下载 20,256 次,日均约 675 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ciolabs/html-email-formatter 还在维护吗?

最新版本 0.0.5 发布于 2026/02/20(8 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 3 个;首次发布于 2025/09/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。