Requirements
This package requires an LTS Node version (v18.0.0+) and React v18.2.0+.
Install
pnpm add @jsx-email/markdown
# We recommend pnpm - https://pnpm.io
# But npm and yarn are supported
# npm add @jsx-email/markdown
# yarn add @jsx-email/markdown
Usage
We recommend using the ../cli for creating new templates.
Create an email template file (e.g. Email.tsx
) and import the component:
import { Markdown } from "@jsx-email/markdown";
import { Html } from "@jsx-email/html";
const Email = () => {
return (
<Html lang="en" dir="ltr">
<Markdown
markdownCustomStyles={{
h1: { color: "red" },
h2: { color: "blue" },
codeInline: { background: "grey" },
}}
markdownContainerStyles={{
padding: "12px",
border: "solid 1px black",
}}
>{`# Hello, World!`}</Markdown>
{/* OR */}
<Markdown children={`# This is a ~~strikethrough~~`} />
</Html>
);
Props
children
field
Contains the markdown content that will be rendered in the email template.
markdownCustomStyles
field
Provide custom styles for the corresponding HTML element (e.g., p, h1, h2, etc.).
markdownContainerStyles
field
Provide custom styles for the containing div
that wraps the markdown content.
Attribution 🧡
This package was built upon prior work for react-email
by Bu Kinoshita (@bukinoshita) and Zeno Rocha (@zenorocha).
License
MIT License