gios-asu/waggle-email-maker

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Waggle Email Maker

[![Build Status](https://travis-ci.org/gios-asu/waggle-email-maker.svg?branch=develop)](https://travis-ci.org/gios-asu/waggle-email-maker?branch=develop)
[![Coverage Status](https://coveralls.io/repos/gios-asu/waggle-email-maker/badge.svg?branch=develop&service=github)](https://coveralls.io/github/gios-asu/waggle-email-maker?branch=develop)
[![Code Climate](https://codeclimate.com/github/gios-asu/waggle-email-maker/badges/gpa.svg)](https://codeclimate.com/github/gios-asu/waggle-email-maker)

PHP email utilities for creating email safe HTML

## Documentation

### Installation

```
composer require gios-asu/waggle-email-maker
```

### Email Handlebars Factory

Basic usage:

```php
use Waggle\Factories\EmailHandlebarsFactory;

$factory = new EmailHandlebarsFactory();
$factory->set_data( array( 'title' => 'My Awesome Email' ) );
$factory->set_css( 'h1 { font-size: 20px }' );
$factory->set_handlebars( '<h2>{{title}}</h2>' );
echo $factory->build();
```

The constructor for `EmailHandlebarsFactory` allows for dependency injection,
which you can use to pass in your own `scss`, `Handlebars`, or `Emogrifier`
objects:

```php
use Waggle\Factories\EmailHandlebarsFactory;
use Handlebars\Handlebars;

$handlebars = new Handlebars(
    array(
      'loader' => new \Handlebars\Loader\FilesystemLoader( '/var/www/html/email-templates' ),
    )
);

$factory = new EmailHandlebarsFactory( null, $handlebars );
$factory->set_data( array( 'title' => 'My Awesome Email' ) );
$factory->set_css( 'h1 { font-size: 20px }' );
$factory->set_handlebars( 'my-email.handlebars' );
echo $factory->build();
```