bulletproof-email-creator
TypeScript icon, indicating that this package has built-in type declarations

1.3.2 • Public • Published

#Email Builder This application can be used to create email templates using typescript and avoids you from having to deal with legacy html code.

Sample Project: https://github.com/zeeshan595/bulletproof-email-creator-sample

On older clients (Outlook) shadows & border radius may not work for containers/grids. However buttons should have rounded corners.

Sample Code

import {
  IDocument,
  Document,
  IContainer,
  EAlignment,
  Unit,
  Shadow,
  Color,
  IRaw,
  Raw,
  IImage,
  ITemplate,
  Image,
  Text,
  Container,
  IButton,
  Button,
  BorderRadius,
  List
} from "bulletproof-email-creator";

//Create a container
const container = {
  //You MUST import the default settings
  //for this to work properly
  ...Container.Default, //IMPORTANT
  //Container Properties
  Align: EAlignment.Center,
  Width: Unit.Pixels(600),
  Shadow: Shadow.Box(0, 0, 10, 5, Color.rgb(220, 220, 220)),
  BackgroundColor: Color.White,
  BorderRadius: BorderRadius.All(Unit.Pixels(10)),
  Content: [
    //Another container to add left & right margins
    Container.VerticalSpace,
    {
      ...Container.Default,//IMPORTANT
      Align: EAlignment.Center,
      Width: Unit.Percent(90),
      Content: [
        //All text needs to go through
        //IRaw, Raw Template
        {
          ...Raw.Default,//IMPORTANT
          Content: (
            //Text elements can be nested
            Text.p(
              "some amazing text " +
              Text.a("super awesome link", { Hyperlink: "https://google.co.uk" })
            ) + 
            Text.Space + // Add a vertical space
            Text.p(" Some more text ")
          )
        } as IRaw,
        //Container specific vertical space
        Container.VerticalSpace,
        //Image
        {
          ...Image.Default,//IMPORTANT
          Source: "my_cool_image.gif",
          AlternateText: "Cool Image"
        } as IImage,
        //Bulletproof Button
        {
          ...Button.Default//IMPORTANT
          //My Properties for button
        } as IButton,
        {
          ...Container.Default,
          BackgroundImage: "https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500",
          Width: Unit.Pixels(400),
          Content: [
            Container.VerticalSpace,
            Container.VerticalSpace,
            Container.VerticalSpace,
            Container.VerticalSpace,
            Container.VerticalSpace,
            Container.VerticalSpace
          ]
        } as IContainer,
        //List example
        List([
          {
            ...Raw.Default, //IMPORTANT
            Content: (
              Text.p("Hello World")
            )
          } as IRaw,
          {
            ...Raw.Default, //IMPORTANT
            Content: (
              Text.p("Bye World")
            )
          } as IRaw
        ], "numbers", null, 5)
      ] as ITemplate[]
    } as IContainer,
    Container.VerticalSpace
  ] as ITemplate[]
} as IContainer

//Create a html document
const document = {
  ...Document.Default,//IMPORTANT
  BackgroundColor: Color.rgb(240, 240, 240),
  Title: "My Awesome Email",
  Content: [
    //Document specific vertical space
    Document.VerticalSpace,
    container,
    Document.VerticalSpace
  ]
} as IDocument

//save the document
Document.saveDocument(document, "index.html");

Package Sidebar

Install

npm i bulletproof-email-creator

Weekly Downloads

7

Version

1.3.2

License

MIT

Unpacked Size

87.9 kB

Total Files

71

Last publish

Collaborators

  • zeeshan595