mjml-react-small
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

@luma-team/mjml-react

(This is forked from Wix's mjml-react — more info why I forked this can be found in this comment.)

MJML is a markup language created by Mailjet. But since we are using React in the rest of our app, we want to use React to create the MJML markup for emails.

Note: this does not bundle mjml so you can use whatever version of mjml you'd like to convert the outputted mjml-string to HTML.

How it works

Install the required dependencies first:

npm install react react-dom mjml @luma-team/mjml-react

Then you can write:

import {
  renderToMjml,
  Mjml,
  MjmlHead,
  MjmlTitle,
  MjmlPreview,
  MjmlBody,
  MjmlSection,
  MjmlColumn,
  MjmlButton,
  MjmlImage,
} from "@luma-team/mjml-react";
import mjml2html from "mjml";

const mjmlString = renderToMjml(
  <Mjml>
    <MjmlHead>
      <MjmlTitle>Last Minute Offer</MjmlTitle>
      <MjmlPreview>Last Minute Offer...</MjmlPreview>
    </MjmlHead>
    <MjmlBody width={500}>
      <MjmlSection fullWidth backgroundColor="#efefef">
        <MjmlColumn>
          <MjmlImage src="https://static.wixstatic.com/media/5cb24728abef45dabebe7edc1d97ddd2.jpg" />
        </MjmlColumn>
      </MjmlSection>
      <MjmlSection>
        <MjmlColumn>
          <MjmlButton padding="20px" backgroundColor="#346DB7">
            I like it!
          </MjmlButton>
        </MjmlColumn>
      </MjmlSection>
    </MjmlBody>
  </Mjml>
);

const htmlString = mjml2html(mjmlString);

And as the result you will get a nice looking email HTML (works in mobile too!)

preview

Readme

Keywords

none

Package Sidebar

Install

npm i mjml-react-small

Weekly Downloads

1

Version

0.2.3

License

MIT

Unpacked Size

142 kB

Total Files

7

Last publish

Collaborators

  • aslemammad