@amalgm/email-render
v0.1.2
Published
The portable email surface generated from Amalgm’s canonical rendering components.
Readme
Amalgm email rendering
The portable email surface of Amalgm UI. Notes and Chat use the canonical components directly; email imports their generated templates, glyphs and metrics and overrides only mail-client mechanics (tables, inline styles, PNG icons, and video preview cards). Channels imports this package. It does not own another renderer or visual token set.
Canonical sources: lib/rendering/, components/rendering/Citation.tsx, and
components/rendering/icons/FileTypeIcon.tsx in the UI repository.
From the UI root, run npm run generate:email-render, then
npm run check:email-render and npm run test:email-render. The drift check
is required before packing or publishing. Never edit generated assets.
formatNotificationEmail(markdown, link, { appOrigin, sessionId }) renders
HTML. prepareEmailIconAttachments(html, media, maximum) supplies referenced
canonical icon PNGs; the caller owns attachment admission and persistence.
Local media paths are data: this renderer never opens them or fetches a URL.
mapMediaLines visits standalone media outside fenced code and shares the
same reference parser with Channels' local file adapter.
Soft line breaks inside an image label remain one reference; the parser and
mediaReferenceMarkdown normalize them to spaces without changing its source.
Delivery
The Email renderer package workflow packs once and examines that same archive
on Linux, macOS, and Windows. scripts/email-render/package.mjs publish accepts
only a main-source archive with all three matching proofs and uses the existing
npm account. Set AMALGM_EMAIL_RENDER_ARTIFACT to the downloaded artifact
folder. Bump this workspace package's version and its root workspace dependency
together when publishing changed bytes. Consumers pin that exact version.
