@cosmicdrift/kumiko-renderer-mail-html

中文文档
0.419.0发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 1.9万

品牌HTML电子邮件的渲染器-Foundation插件:由孤立的Handlebars提供邮件-kind模板(document HTML + subject meta),再通过html-text提供纯文本. 从模板解析器解析模板 .

中文使用文档
文档目录6 节
  1. 管道
  2. 挂载
  3. 调用程序
  4. 租户
  5. 可选种子
  6. 范围外

渲染器-邮件-html

插头 für renderer-foundation. 招标 RenderRequest { kind: "mail" } zu Betreff + 电子邮件安全 HTML + 纯文本 : 邮件模板( Dokumment- HTML +) meta.subject) - > 等离子管- > MJML-Layout - > html- to- text。 。 。 .

管道

RenderRequest { kind: "mail", payload: { slug, locale, variables, unsubscribeUrl? } }
                            ↓
   1. Template laden      resolveTemplate(slug, kind "mail", locale), nur contentFormat html,
                          meta.subject Pflicht
   2. Layout laden        meta.layoutSlug ?? "default", kind "mail-layout";
                          tenant -> system -> in-code DEFAULT_MAIL_LAYOUT_MJML
   3. Body kompilieren    compileDocumentBodyToHandlebars (template-resolver): span[data-variable],
                          Links, Listenzeilen -> Handlebars-Quelle; Autoren-Klammern sind inert
   4. Rendern             Handlebars.create() mit Helfern money/date/link, HTML-Escaping an;
                          Betreff + Preview-Text ohne Escaping, CR/LF entfernt
   5. Layout              Body als Datum (`{{{content}}}`), nie in die Layout-Quelle konkateniert;
                          Layout-Kontext nur: content, subject, previewText, tenantName,
                          signature, imprint, unsubscribeUrl
   6. mjml + html-to-text
                            ↓
   RenderResponse { kind: "mail", subject, html, text, previewText? }

Datum und Zahlen 格式化的纳克 payload.locale, der Sprache der Vorlage, im langen Datumsformat ("1. Oktober 2026"). ctx.config (可选的)活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 tenantName (Branding-Titel); 欧恩·克菲克·格尔滕 EUR ưμ㼯a ""。 。 。 .

挂载

import { createRendererMailHtmlFeature } from "@cosmicdrift/kumiko-renderer-mail-html";
import { createTemplateResolverFeature } from "@cosmicdrift/kumiko-bundled-features/template-resolver";
import { createRendererFoundationFeature } from "@cosmicdrift/kumiko-bundled-features/renderer-foundation";

const features = [
  createTemplateResolverFeature(), // Vorausgesetzt
  createRendererFoundationFeature(), // Vorausgesetzt
  createRendererMailHtmlFeature(), // Dieses Plugin
];

邮件- Texte kommen aus r.notification({ variables, template, meta })· ; applyBootSeeds (原始内容存档于2018-03-31) (英语). Legt Sie als System-Templates an.

调用程序

const foundation = requireRendererFoundation(ctx, "sendWelcomeMail");
const renderer = foundation.createRendererForTenant({ tenantId, kind: "mail" });

const result = await renderer.render(
  {
    kind: "mail",
    payload: {
      slug: "my-feature:notify:welcome",
      locale: "de",
      variables: { name: user.name, verifyUrl: "https://..." },
    },
  },
  { db: ctx.db, registry: ctx.registry, tenantId, config: ctx.config },
);

await ctx.mailTransport.send({
  to: user.email,
  subject: result.subject,
  html: result.html,
  text: result.text,
});

租户

Ein 租户 legt ein eigenes 布局等模板 kind: "mail-layout", (中文(简体) ), contentFormat: "mjml"缩写 default (奥德·德·斯卢克) meta.layoutSlug一个。 Es gewint gegen System-Layout un-d in-code 默认值 。 Das 布局 sieht nur die oben genannten 变量; den body setzt es mit {{{content}}} 爱因.

可选种子

import { seedSystemMailLayout } from "@cosmicdrift/kumiko-renderer-mail-html/seeding";

await seedSystemMailLayout(db); // idempotent

(原始内容存档于2018-10-21) (英语). Oohne Seeding läuft das 插件trotzdem und fällt auf DEFAULT_MAIL_LAYOUT_MJML z克.

范围外

  • 视觉编辑版式
  • 内置-图像-图像化(CID-Attachments)
  • PDF/图像 - > Andere插件(renderer-puppeteer-client(中文(简体) )
  • 邮件 - Versand - > delivery + 键 channel-email + 键 mail-transport-*

版本与发布记录

@cosmicdrift/kumiko-renderer-mail-html 共发布 63 个版本,首次发布于 2026/10/17;过去 12 个月发布了 63 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.419.0latest2026/11/11今天
0.418.02026/11/101 天前
0.417.02026/11/091 天前
0.416.02026/11/082 天前
0.415.02026/11/064 天前
0.414.02026/11/055 天前

关于 @cosmicdrift/kumiko-renderer-mail-html 的常见问题

@cosmicdrift/kumiko-renderer-mail-html 是什么?

品牌HTML电子邮件的渲染器-Foundation插件:由孤立的Handlebars提供邮件-kind模板(document HTML + subject meta),再通过html-text提供纯文本. 从模板解析器解析模板 .

如何安装 @cosmicdrift/kumiko-renderer-mail-html?

在项目目录运行 npm install @cosmicdrift/kumiko-renderer-mail-html,或使用 pnpm add / yarn add / bun add。

@cosmicdrift/kumiko-renderer-mail-html 支持 TypeScript 吗?

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

@cosmicdrift/kumiko-renderer-mail-html 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cosmicdrift/kumiko-renderer-mail-html 可以商用吗?

@cosmicdrift/kumiko-renderer-mail-html 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cosmicdrift/kumiko-renderer-mail-html 的下载量有多少?

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

@cosmicdrift/kumiko-renderer-mail-html 还在维护吗?

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