Skip to content

Integration for Astro to Generate HTML emails and Banners with React (react-email) and tailwindcss.

Notifications You must be signed in to change notification settings

atrium-ui/astro-html

Repository files navigation

astro-email

Integration for Astro to Generate HTML emails with React (react-email).

Installation

npm i astro-email

Usage

import { defineConfig } from "astro/config";
import email from "astro-email";

// https://astro.build/config
export default defineConfig({
  integrations: [
    email({
      filename: "[name].html",
    }),
  ],
});

Development

npx astro dev

Development preview with live reload.

Production

npx astro build

This will generate HTML files for each .astro file in the src/pages directory.

Example

---
// Important! Without partial astro will render the default Doctype.
export const partial = true;

import * as React from "react";
import { Body, Container, Heading, Link, Text } from "@react-email/components";
import Mail from "astro-email/Mail.astro";

const fontFamily =
  "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif";

const container: React.CSSProperties = {
  paddingLeft: "45px",
  paddingRight: "45px",
  margin: "0 auto",
  maxWidth: "640px",
};
---

<Mail>
  <Body
    style={{
      fontFamily,
      backgroundColor: "#ffffff",
      margin: "0",
    }}
  >
    <Container style={container}>
      <Heading>My Email</Heading>
      <Text>Lorem Ipsum</Text>

      <Link href="https://example.com">Click me</Link>
    </Container>
  </Body>
</Mail>

About

Integration for Astro to Generate HTML emails and Banners with React (react-email) and tailwindcss.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published