From 0b783aebf0a9a705dea30a70e3074e861ff6cf3e Mon Sep 17 00:00:00 2001 From: matcornic Date: Tue, 28 Mar 2017 18:16:20 +0200 Subject: [PATCH] Add examples --- README.md | 269 ++++++++++- default.go | 125 ++++-- examples/.DS_Store | Bin 6148 -> 8196 bytes examples/default/default.html | 49 -- examples/default/default.receipt.html | 422 ++++++++++++++++++ examples/default/default.receipt.txt | 12 + examples/default/default.reset.html | 309 +++++++++++++ examples/default/default.reset.txt | 13 + ...lt.plaintext.html => default.welcome.html} | 37 +- examples/default/default.welcome.txt | 13 + examples/default/main.go | 83 ++-- examples/default/receipt.go | 55 +++ examples/default/reset.go | 37 ++ examples/default/welcome.go | 41 ++ hermes.go | 134 ++++-- hermes_test.go | 46 +- screens/default/receipt.png | Bin 0 -> 86720 bytes screens/default/reset.png | Bin 0 -> 81736 bytes screens/default/welcome.png | Bin 0 -> 86329 bytes screens/demo.png | Bin 0 -> 169677 bytes 20 files changed, 1437 insertions(+), 208 deletions(-) delete mode 100644 examples/default/default.html create mode 100644 examples/default/default.receipt.html create mode 100644 examples/default/default.receipt.txt create mode 100644 examples/default/default.reset.html create mode 100644 examples/default/default.reset.txt rename examples/default/{default.plaintext.html => default.welcome.html} (94%) create mode 100644 examples/default/default.welcome.txt create mode 100644 examples/default/receipt.go create mode 100644 examples/default/reset.go create mode 100644 examples/default/welcome.go create mode 100644 screens/default/receipt.png create mode 100644 screens/default/reset.png create mode 100644 screens/default/welcome.png create mode 100644 screens/demo.png diff --git a/README.md b/README.md index edf5b1e..9fcd04e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,15 @@ # Hermes -Hermes is the Go port the great [mailgen](https://github.com/eladnava/mailgen) engine for Node.js. -It's a package that generates clean, responsive HTML e-mails for sending transactional mail (welcome email, email validity checking, reset password and so on). +Hermes is the Go port of the great [mailgen](https://github.com/eladnava/mailgen) engine for Node.js. Check their work, it's awesome ! +It's a package that generates clean, responsive HTML e-mails for sending transactional e-mails (welcome e-mail, reset password e-mails, receipt e-mails and so on). # Demo -TODO +![Welcome](screens/default/welcome.png) + +![Reset](screens/default/reset.png) + +![Receipt](screens/default/receipt.png) # Usage @@ -15,7 +19,264 @@ First install the package: go get -u github.com/matcornic/hermes ``` -TODO +Then, start using the package by importing and configuring it: + +```go +// Configure hermes by setting a theme and your product info +h := hermes.Hermes{ + // Optional Theme + // Theme: new(Default) + Product: hermes.Product{ + // Appears in header & footer of e-mails + Name: "Hermes", + Link: "https://example-hermes.com/", + //Option product logo + //Logo: "http://www.duchess-france.org/wp-content/uploads/2016/01/gopher.png", + }, +} +``` + +Next, generate an e-mail using the following code: + +```go +email := hermes.Email{ + Body: hermes.Body{ + Name: "Jon Snow", + Intros: []string{ + "Welcome to Hermes! We're very excited to have you on board.", + }, + Actions: []hermes.Action{ + { + Instructions: "To get started with Hermes, please click here:", + Button: hermes.Button{ + Color: "#22BC66", // Optional action button color + Text: "Confirm your account", + Link: "https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010", + }, + }, + }, + Outros: []string{ + "Need help, or have questions? Just reply to this email, we'd love to help.", + }, + }, + } + +// Generate an HTML email with the provided contents(for modern clients) +emailBody, err := h.GenerateHTML(email) +if err != nil { + panic(err) // Tip: Handle error with something else than a panic ;) +} + +// Generate the plaintext version of the e-mail (for clients that do not support xHTML) +emailText, err := h.GeneratePlainText(email) +if err != nil { + panic(err) // Tip: Handle error with something else than a panic ;) +} + +// Optionnaly, preview the generated HTML e-mail by writing it to a local file +err = ioutil.WriteFile("preview.html", []byte(emailBody), 0644) +if err != nil { + panic(err) // Tip: Handle error with something else than a panic ;) +} +``` + +This code would output the following HTML template: + +![Demo](screens/demo.png) + +> Theme templates will be incorporated in your application binary. If you want to use external templates (for configuration), use your own theme by implementing `hermes.Theme` interface with code searching for your files. + +## More Examples + +* [Welcome](examples/default/welcome.go) +* [Receipt](examples/default/receipt.go) +* [Password Reset](examples/default/reset.go) + +To run the examples, go to `examples//`, then run `go run *.go`. HTML and Plaintext example should be created in the folder. + +## Plaintext E-mails + +To generate a [plaintext version of the e-mail](https://litmus.com/blog/best-practices-for-plain-text-emails-a-look-at-why-theyre-important), simply call `GeneratePlainText` function: + +```go +// Generate plaintext email using hermes +emailText, err := h.GeneratePlainText(email) +if err != nil { + panic(err) // Tip: Handle error with something else than a panic ;) +} +``` + +## Supported Themes + +The following open-source themes are bundled with this package: + +* `default` by [Postmark Transactional Email Templates](https://github.com/wildbit/postmark-templates) + + + +## RTL Support + +To change the default text direction (left-to-right), simply override it as follows: + +```go +// Configure hermes by setting a theme and your product info +h := hermes.Hermes { + // Custom text direction + TextDirection: hermes.TDRightToLeft, +} +``` + +## Language Customizations + +To customize the e-mail greeting (Hi) or signature (Yours truly), supply custom strings within the e-mail `Body`: + +```go +email := hermes.Email{ + Body: hermes.Body{ + Greeting: "Dear", + Signature: "Sincerly", + }, + } +``` + +To use a custom title string rather than a greeting/name introduction, provide it instead of `Name`: + +```js +var email = { + body: { + // Title will override `name` + title: 'Welcome to Mailgen!' + } +}; +``` + +```go +email := hermes.Email{ + Body: hermes.Body{ + // Title will override `Name` + Title: "Welcome to Mailgen", + }, + } +``` + +To customize the `Copyright`, override it when initializing `Hermes` within your `Product` as follows: + +```js +// Configure mailgen +var mailGenerator = new Mailgen({ + theme: 'salted', + product: { + name: 'Mailgen', + link: 'https://mailgen.js/', + // Custom copyright notice + copyright: 'Copyright © 2016 Mailgen. All rights reserved.', + } +}); +``` + +```go +// Configure hermes by setting a theme and your product info +h := hermes.Hermes{ + // Optional Theme + // Theme: new(Default) + Product: hermes.Product{ + // Appears in header & footer of e-mails + Name: "Hermes", + Link: "https://example-hermes.com/", + // Custom copyright notice + Copyright: "Copyright © 2017 Dharma Initiative. All rights reserved." + }, +} +``` + +## Elements + +Mailgen supports injecting custom elements such as dictionaries, tables and action buttons into e-mails. + +### Action + +To inject an action button in to the e-mail, supply the `Actions` object as follows: + + +```go +email := hermes.Email{ + Body: hermes.Body{ + Actions: []hermes.Action{ + { + Instructions: "To get started with Hermes, please click here:", + Button: hermes.Button{ + Color: "#22BC66", // Optional action button color + Text: "Confirm your account", + Link: "https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010", + }, + }, + }, + }, + } +``` + +To inject multiple action buttons in to the e-mail, supply another struct in Actions slice `Action`. + +### Table + +To inject a table into the e-mail, supply the `Table` object as follows: + +```go +email := hermes.Email{ + Body: hermes.Body{ + Table: hermes.Table{ + Data: [][]hermes.Entry{ + // List of rows + { + // Key is the column name, Value is the cell value + // First object defines what columns will be displayed + {Key: "Item", Value: "Node.js"}, + {Key: "Description", Value: "Event-driven I/O server-side JavaScript environment based on V8"}, + {Key: "Price", Value: "$10.99"}, + }, + { + {Key: "Item", Value: "Mailgen"}, + {Key: "Description", Value: "Programmatically create beautiful e-mails using plain old JavaScript."}, + {Key: "Price", Value: "$1.99"}, + }, + }, + Columns: hermes.Columns{ + // Custom style for each rows + CustomWidth: map[string]string{ + "Item": "20%", + "Price": "15%", + }, + CustomAlignement: map[string]string{ + "Price": "right", + }, + }, + }, + }, +} +``` + +> Note: Tables are currently not supported in plaintext versions of e-mails. + +### Dictionary + + To inject key-value pairs of data into the e-mail, supply the `dictionary` object as follows: + + ```go +email := hermes.Email{ + Body: hermes.Body{ + Dictionary: []hermes.Entry{ + {Key: "Date", Value: "20 November 1887"}, + {Key: "Address", Value: "221B Baker Street, London"}, + }, + }, + } +``` + +## Troubleshooting + +1. After sending multiple e-mails to the same Gmail / Inbox address, they become grouped and truncated since they contain similar text, breaking the responsive e-mail layout. + +> Simply sending the `X-Entity-Ref-ID` header with your e-mails will prevent grouping / truncation. ## Contributing diff --git a/default.go b/default.go index d112606..bef797d 100644 --- a/default.go +++ b/default.go @@ -1,14 +1,17 @@ package hermes -type DefaultTheme struct { +// Default is the theme by default +type Default struct { name string } -func (dt *DefaultTheme) Name() string { +// Name returns the name of the default theme +func (dt *Default) Name() string { return "default" } -func (dt *DefaultTheme) HtmlTemplate() string { +// HTMLTemplate returns a Golang template that will generate an HTML email. +func (dt *Default) HTMLTemplate() string { return ` @@ -233,14 +236,17 @@ func (dt *DefaultTheme) HtmlTemplate() string { -

{{.Email.Body.Greeting}} {{.Email.Body.Name}},

- {{ with .Email.Body.Intros }} +

{{if .Email.Body.Title }}{{ .Email.Body.Title }}{{ else }}{{ .Email.Body.Greeting }} {{ .Email.Body.Name }},{{ end }}

+ {{ with .Email.Body.Intros }} + {{ if gt (len .) 0 }} {{ range $line := . }}

{{ $line }}

{{ end }} {{ end }} + {{ end }} {{ with .Email.Body.Dictionary }} + {{ if gt (len .) 0 }}
{{ range $entry := . }}
{{ $entry.Key }}:
@@ -248,8 +254,62 @@ func (dt *DefaultTheme) HtmlTemplate() string { {{ end }}
{{ end }} + {{ end }} - {{ with .Email.Body.Actions }} + + {{ with .Email.Body.Table }} + {{ $data := .Data }} + {{ $columns := .Columns }} + {{ if gt (len $data) 0 }} + + + + +
+ + + {{ $col := index $data 0 }} + {{ range $entry := $col }} + + {{ end }} + + {{ range $row := $data }} + + {{ range $cell := $row }} + + {{ end }} + + {{ end }} +
+

{{ $entry.Key }}

+
+ {{ $cell.Value }} +
+
+ {{ end }} + {{ end }} + + + {{ with .Email.Body.Actions }} + {{ if gt (len .) 0 }} {{ range $action := . }}

{{ $action.Instructions }}

@@ -263,12 +323,15 @@ func (dt *DefaultTheme) HtmlTemplate() string {
{{ end }} {{ end }} + {{ end }} {{ with .Email.Body.Outros }} + {{ if gt (len .) 0 }} {{ range $line := . }}

{{ $line }}

{{ end }} {{ end }} + {{ end }}

{{.Email.Body.Signature}}, @@ -316,51 +379,21 @@ func (dt *DefaultTheme) HtmlTemplate() string { ` } -func (dt *DefaultTheme) PlainTextTemplate() string { - return ` -{{.Email.Body.Greeting}} {{.Email.Body.Name}}, -
-
- -{{ with .Email.Body.Intros }} -{{ range $line := . }} -{{ $line }}
-{{ end }} -
-{{ end }} - -{{ with .Email.Body.Dictionary }} -{{ range $entry := . }} -{{ $entry.Key }}: {{ $entry.Value }}
-{{ end }} -
-{{ end }} - -{{ with .Email.Body.Actions }} -{{ range $action := . }} +// PlainTextTemplate returns a Golang template that will generate an plain text email. +func (dt *Default) PlainTextTemplate() string { + return `{{.Email.Body.Greeting}} {{.Email.Body.Name}}, +{{ with .Email.Body.Intros }}{{ range $line := . }}{{ $line }}{{ end }}{{ end }} +{{ with .Email.Body.Dictionary }}{{ range $entry := . }} +{{ $entry.Key }}: {{ $entry.Value }}{{ end }}{{ end }} +{{ with .Email.Body.Actions }} {{ range $action := . }} {{ $action.Instructions }} -
-{{ $action.Button.Link }} -
- -
-{{ end }} -{{ end }} - -{{ with .Email.Body.Outros }} -{{ range $line := . }} -{{ $line }} -
-{{ end }} -
-{{ end }} +{{ $action.Button.Link }}{{ end }}{{ end }} +{{ with .Email.Body.Outros }} {{ range $line := . }} +{{ $line }}{{ end }}{{ end }} {{.Email.Body.Signature}}, -
{{.Hermes.Product.Name}} -
-
{{.Hermes.Product.Copyright}} ` } diff --git a/examples/.DS_Store b/examples/.DS_Store index 0f328807bfbfaa6628ff7fa508af1395b03e545c..2909d1a5242173e3e15feb657fcbdb5a78487d0d 100644 GIT binary patch literal 8196 zcmeHMTWl3Y7@n^!uuFI8mWwSnIdBxJ)X++?+yaNTgf*_9|q_k|@_z8-tmaD2-q3-DD z^9MUZGt37~W^Nll+hm4)88g>w%<6C~n~u61E9^_#-dfi#*xtrmyBXTjHSPN@If$^d znc3plgT2PoX5R}<$Fp-Hx6HA<%keCKu*uJRRv`SN${z-?{zp2*u6$YKzy~) z>86}r5I0|$HQj99C5G0xE_VvLvc8+|_X6&n&H1jo$q$^+@x7kz(B2;w6OAx+Zw>rh z*en8j4I>}en{CSJ6zmqtOsOXGt8Eg1iP%E^lA+4JTvtXr~tb;|{# za`F^ynpV|SZ~`ae+MR>^arT%&*7hvN+q0D(kQX|;9XqF1;%znUnfW$$yG29U;9ES>lKyk_+ZAOS?{Ci8)XHwHM!!=vOeGx<9WupT z+9K5m)bu_Qg$%u0YfubJ?R3qI?aHo3ZJA=MSGx-G{$%G$ZIx1qTD3dt_xIDd1KGVs zZ&r-Yl%4$A?Pd^e9I(B=N3~8-dbnkcW!YA;sE=f-CL+w>tJZ8bpDktWEKM`WXNTEQ z_A)!gK4fRuN9=QUfn8$Xv!B>y_B;E7{RvqCr_Wsc`qc~%X30!f?1@1jBsp|%pnmk=lqiY6e zHmJf{TSL~8$W~WRwo($lv@N+u(~WVYaT&RMg{B#0Gzp}2b&9OxN$%3xvX-ojPe=7C zdi@u*o@d{&AK7J;LLq%l!Aw%<9aw}VSdDdPLpwI$UUZ=c+prxwNS}S!i+w_)gF>SZ z;bA<2Bc#+P@FbqbGk6xSkWOF6ah$+Aco**p#h$^(_ylKh4qxEwQCeL;N~;&gYPHaj z^IYHCLzbe#M+U`b*TX=mbgJh2|Fzft{(n8GVxO3Sn1TN(11M|hXlbIsU+ZPc_u2`n zyQuQQ{e~op5Nfy!?-$!~!r?y*={OPDQV|YGBny@Q{6oNqUwZNSf5orWc>NcOyg8b` E0I-ce5&!@I delta 132 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{MGqg=C6q~50D9Q+A12Isnlp%+qB&9exCn -
- - - -Welcome to Hermes! We're very excited to have you on board.
- -
- - - - -Firstname: Jon
- -Lastname: Snow
- -Birthday: 01/01/283
- -
- - - - -To get started with Hermes, please click here: -
-https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010 -
- -
- - - - - -Need help, or have questions? Just reply to this email, we'd love to help. -
- -
- - -Yours truly, -
-Hermes - -
-
-Copyright © 2017 Hermes. All rights reserved. diff --git a/examples/default/default.receipt.html b/examples/default/default.receipt.html new file mode 100644 index 0000000..074ab19 --- /dev/null +++ b/examples/default/default.receipt.html @@ -0,0 +1,422 @@ + + + + + + + + + + + + + + + + diff --git a/examples/default/default.receipt.txt b/examples/default/default.receipt.txt new file mode 100644 index 0000000..48a6223 --- /dev/null +++ b/examples/default/default.receipt.txt @@ -0,0 +1,12 @@ +Hi Jon Snow, +Your order has been processed successfully. + + +You can check the status of your order and more in your dashboard: +https://hermes-example.com/dashboard + + +Yours truly, +Hermes + +Copyright © 2017 Hermes. All rights reserved. diff --git a/examples/default/default.reset.html b/examples/default/default.reset.html new file mode 100644 index 0000000..26b7f74 --- /dev/null +++ b/examples/default/default.reset.html @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + diff --git a/examples/default/default.reset.txt b/examples/default/default.reset.txt new file mode 100644 index 0000000..f5d1d70 --- /dev/null +++ b/examples/default/default.reset.txt @@ -0,0 +1,13 @@ +Hi Jon Snow, +You have received this email because a password reset request for Hermes account was received. + + +Click the button below to reset your password: +https://hermes-example.com/reset-password?token=d9729feb74992cc3482b350163a1a010 + +If you did not request a password reset, no further action is required on your part. + +Thanks, +Hermes + +Copyright © 2017 Hermes. All rights reserved. diff --git a/examples/default/default.plaintext.html b/examples/default/default.welcome.html similarity index 94% rename from examples/default/default.plaintext.html rename to examples/default/default.welcome.html index e9f6540..9e6984b 100644 --- a/examples/default/default.plaintext.html +++ b/examples/default/default.welcome.html @@ -206,9 +206,9 @@ - @@ -221,28 +221,26 @@

Hi Jon Snow,

- + +

Welcome to Hermes! We're very excited to have you on board.

- - -
- -
Firstname:
-
Jon
- -
Lastname:
-
Snow
- -
Birthday:
-
01/01/283
- -
- + + + + + + + + + + + +

To get started with Hermes, please click here:

@@ -256,12 +254,15 @@
+ +

Need help, or have questions? Just reply to this email, we'd love to help.

+

Yours truly, diff --git a/examples/default/default.welcome.txt b/examples/default/default.welcome.txt new file mode 100644 index 0000000..1e33cb1 --- /dev/null +++ b/examples/default/default.welcome.txt @@ -0,0 +1,13 @@ +Hi Jon Snow, +Welcome to Hermes! We're very excited to have you on board. + + +To get started with Hermes, please click here: +https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010 + +Need help, or have questions? Just reply to this email, we'd love to help. + +Yours truly, +Hermes + +Copyright © 2017 Hermes. All rights reserved. diff --git a/examples/default/main.go b/examples/default/main.go index f407d5a..71bceb5 100644 --- a/examples/default/main.go +++ b/examples/default/main.go @@ -1,66 +1,55 @@ package main import ( - "bytes" + "fmt" "github.com/matcornic/hermes" "io/ioutil" ) +type Example interface { + Email() hermes.Email + Name() string +} + func main() { h := hermes.Hermes{ Product: hermes.Product{ Name: "Hermes", - Link: "http://hermes.com", + Link: "https://example-hermes.com/", + Logo: "http://www.duchess-france.org/wp-content/uploads/2016/01/gopher.png", }, } - email := hermes.Email{ - Body: hermes.Body{ - Name: "Jon Snow", - Intros: []string{ - "Welcome to Hermes! We're very excited to have you on board.", - }, - Dictionary: []hermes.Entry{ - {Key: "Firstname", Value: "Jon"}, - {Key: "Lastname", Value: "Snow"}, - {Key: "Birthday", Value: "01/01/283"}, - }, - Actions: []hermes.Action{ - { - Instructions: "To get started with Hermes, please click here:", - Button: hermes.Button{ - Color: "#22BC66", - Text: "Confirm your account", - Link: "https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010", - }, - }, - }, - Outros: []string{ - "Need help, or have questions? Just reply to this email, we'd love to help.", - }, - }, + examples := []Example{ + new(Welcome), + new(Reset), + new(Receipt), } - // Generate the HTML template - stream, err := h.GenerateHTML(email) - if err != nil { - panic(err) + for _, e := range examples { + generateEmails(h, e.Email(), e.Name()) } - buf := new(bytes.Buffer) - _, err = buf.ReadFrom(stream) - if err != nil { - panic(err) - } - err = ioutil.WriteFile("default.plaintext.html", buf.Bytes(), 0644) - stream, err = h.GeneratePlainText(email) - if err != nil { - panic(err) - } - buf = new(bytes.Buffer) - _, err = buf.ReadFrom(stream) - if err != nil { - panic(err) - } - err = ioutil.WriteFile("default.html", buf.Bytes(), 0644) +} + +func generateEmails(h hermes.Hermes, email hermes.Email, example string) { + // Generate the HTML template and save it + res, err := h.GenerateHTML(email) + if err != nil { + panic(err) + } + err = ioutil.WriteFile(fmt.Sprintf("%v.%v.html", h.Theme.Name(), example), []byte(res), 0644) + if err != nil { + panic(err) + } + + // Generate the plaintext template and save it + res, err = h.GeneratePlainText(email) + if err != nil { + panic(err) + } + err = ioutil.WriteFile(fmt.Sprintf("%v.%v.txt", h.Theme.Name(), example), []byte(res), 0644) + if err != nil { + panic(err) + } } diff --git a/examples/default/receipt.go b/examples/default/receipt.go new file mode 100644 index 0000000..2dbf347 --- /dev/null +++ b/examples/default/receipt.go @@ -0,0 +1,55 @@ +package main + +import ( + "github.com/matcornic/hermes" +) + +type Receipt struct { +} + +func (r *Receipt) Name() string { + return "receipt" +} + +func (r *Receipt) Email() hermes.Email { + return hermes.Email{ + Body: hermes.Body{ + Name: "Jon Snow", + Intros: []string{ + "Your order has been processed successfully.", + }, + Table: hermes.Table{ + Data: [][]hermes.Entry{ + { + {Key: "Item", Value: "Node.js"}, + {Key: "Description", Value: "Event-driven I/O server-side JavaScript environment based on V8"}, + {Key: "Price", Value: "$10.99"}, + }, + { + {Key: "Item", Value: "Mailgen"}, + {Key: "Description", Value: "Programmatically create beautiful e-mails using plain old JavaScript."}, + {Key: "Price", Value: "$1.99"}, + }, + }, + Columns: hermes.Columns{ + CustomWidth: map[string]string{ + "Item": "20%", + "Price": "15%", + }, + CustomAlignement: map[string]string{ + "Price": "right", + }, + }, + }, + Actions: []hermes.Action{ + { + Instructions: "You can check the status of your order and more in your dashboard:", + Button: hermes.Button{ + Text: "Go to Dashboard", + Link: "https://hermes-example.com/dashboard", + }, + }, + }, + }, + } +} diff --git a/examples/default/reset.go b/examples/default/reset.go new file mode 100644 index 0000000..7f06cc8 --- /dev/null +++ b/examples/default/reset.go @@ -0,0 +1,37 @@ +package main + +import ( + "github.com/matcornic/hermes" +) + +type Reset struct { +} + +func (r *Reset) Name() string { + return "reset" +} + +func (r *Reset) Email() hermes.Email { + return hermes.Email{ + Body: hermes.Body{ + Name: "Jon Snow", + Intros: []string{ + "You have received this email because a password reset request for Hermes account was received.", + }, + Actions: []hermes.Action{ + { + Instructions: "Click the button below to reset your password:", + Button: hermes.Button{ + Color: "#DC4D2F", + Text: "Reset your password", + Link: "https://hermes-example.com/reset-password?token=d9729feb74992cc3482b350163a1a010", + }, + }, + }, + Outros: []string{ + "If you did not request a password reset, no further action is required on your part.", + }, + Signature: "Thanks", + }, + } +} diff --git a/examples/default/welcome.go b/examples/default/welcome.go new file mode 100644 index 0000000..41b2ec7 --- /dev/null +++ b/examples/default/welcome.go @@ -0,0 +1,41 @@ +package main + +import ( + "github.com/matcornic/hermes" +) + +type Welcome struct { +} + +func (w *Welcome) Name() string { + return "welcome" +} + +func (w *Welcome) Email() hermes.Email { + return hermes.Email{ + Body: hermes.Body{ + Name: "Jon Snow", + Intros: []string{ + "Welcome to Hermes! We're very excited to have you on board.", + }, + Dictionary: []hermes.Entry{ + {Key: "Firstname", Value: "Jon"}, + {Key: "Lastname", Value: "Snow"}, + {Key: "Birthday", Value: "01/01/283"}, + }, + Actions: []hermes.Action{ + { + Instructions: "To get started with Hermes, please click here:", + Button: hermes.Button{ + Color: "#22BC66", + Text: "Confirm your account", + Link: "https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010", + }, + }, + }, + Outros: []string{ + "Need help, or have questions? Just reply to this email, we'd love to help.", + }, + }, + } +} diff --git a/hermes.go b/hermes.go index 2d91381..1fc74d8 100644 --- a/hermes.go +++ b/hermes.go @@ -5,90 +5,127 @@ import ( "github.com/Masterminds/sprig" "github.com/imdario/mergo" "html/template" - "io" ) -type TextDirection string - -const TDLeftToRight TextDirection = "ltr" -const TDRightToLeft TextDirection = "rtl" - +// Hermes is an instance of the hermes email generator type Hermes struct { Theme Theme - TextDirection TextDirection // rtl (right to left) or ltr (left to right) + TextDirection TextDirection Product Product } +// Theme is an interface to implement when creating a new theme +type Theme interface { + Name() string // The name of the theme + HTMLTemplate() string // The golang template for HTML emails + PlainTextTemplate() string // The golang templte for plain text emails (can be basic HTML) +} + +// TextDirection of the text in HTML email@ +type TextDirection string + +// TDLeftToRight is the text direction from left to right (default) +const TDLeftToRight TextDirection = "ltr" + +// TDRightToLeft is the text direction from right to left +const TDRightToLeft TextDirection = "rtl" + +// Product represents your company product (brand) +// Appears in header & footer of e-mails type Product struct { - // Appears in header & footer of e-mails Name string Link string // e.g. https://matcornic.github.io Logo string // e.g. https://matcornic.github.io/img/logo.png Copyright string // Copyright © 2017 Hermes. All rights reserved. } +// Email is the email containing a body type Email struct { Body Body } +// Body is the body of the email, containing all interesting data type Body struct { - Name string - Intros []string - Dictionary []Entry - Actions []Action - Outros []string - Greeting string - Signature string - Title string + Name string // The name of the contacted person + Intros []string // Intro sentences, first displayed in the email + Dictionary []Entry // A list of key+value (usefull for displaying parameters/settings/personal info) + Table Table // Table is an table where you can put data (pricing grid, a bill, and so on) + Actions []Action // Actions are a list of actions that the user will be able to execute via a button click + Outros []string // Outro sentences, last displayed in the email + Greeting string // Greeting for the contacted person (default to 'Hi') + Signature string // Signature for the contacted person (default to 'Yours truly') + Title string // Title replaces the greeting+name when set } +// Entry is a simple entry of a map +// Allows using a slice of entries instead of a map +// Because Golang maps are not ordered type Entry struct { Key string Value string } +// Table is an table where you can put data (pricing grid, a bill, and so on) +type Table struct { + Data [][]Entry // Contains data + Columns Columns // Contains meta-data for display purpose (width, alignement) +} + +// Columns contains meta-data for the different columns +type Columns struct { + CustomWidth map[string]string + CustomAlignement map[string]string +} + +// Action is an action the user can do on the email (click on a button) type Action struct { Instructions string Button Button } +// Button defines an action to launch type Button struct { Color string Text string Link string } +// Template is the struct given to Golang templating +// Root object in a template is this struct type Template struct { Hermes Hermes Email Email } -type Theme interface { - Name() string - HtmlTemplate() string - PlainTextTemplate() string -} - func setDefaultEmailValues(e *Email) error { + // Default values of an email defaultEmail := Email{ Body: Body{ - Signature: "Yours truly", - Greeting: "Hi", + Intros: []string{}, + Dictionary: []Entry{}, + Outros: []string{}, + Signature: "Yours truly", + Greeting: "Hi", }, } + // Merge the given email with default one + // Default one overrides all zero values return mergo.Merge(e, defaultEmail) } +// default values of the engine func setDefaultHermesValues(h *Hermes) error { defaultTextDirection := TDLeftToRight defaultHermes := Hermes{ - Theme: new(DefaultTheme), + Theme: new(Default), TextDirection: defaultTextDirection, Product: Product{ Name: "Hermes", Copyright: "Copyright © 2017 Hermes. All rights reserved.", }, } + // Merge the given hermes engine coniguration with default one + // Default one overrides all zero values err := mergo.Merge(h, defaultHermes) if err != nil { return err @@ -99,30 +136,41 @@ func setDefaultHermesValues(h *Hermes) error { return nil } -func (h *Hermes) GenerateHTML(email Email) (io.Reader, error) { - return h.generateTemplate(email, func() string { - return h.Theme.HtmlTemplate() - }) -} - -func (h *Hermes) GeneratePlainText(email Email) (io.Reader, error) { - return h.generateTemplate(email, func() string { - return h.Theme.PlainTextTemplate() - }) -} - -func (h *Hermes) generateTemplate(email Email, tplt func() string) (io.Reader, error) { +// GenerateHTML generates the email body from data to an HTML Reader +// This is for modern email clients +func (h *Hermes) GenerateHTML(email Email) (string, error) { err := setDefaultHermesValues(h) if err != nil { - return nil, err + return "", err } - setDefaultEmailValues(&email) + return h.generateTemplate(email, h.Theme.HTMLTemplate()) +} - t, err := template.New("hermes").Funcs(sprig.FuncMap()).Parse(tplt()) +// GeneratePlainText generates the email body from data +// This is for old email clients +// Note : this mode is not able to print Tables +func (h *Hermes) GeneratePlainText(email Email) (string, error) { + err := setDefaultHermesValues(h) if err != nil { - return nil, err + return "", err + } + return h.generateTemplate(email, h.Theme.PlainTextTemplate()) +} + +func (h *Hermes) generateTemplate(email Email, tplt string) (string, error) { + + err := setDefaultEmailValues(&email) + if err != nil { + return "", err + } + + // Generate the email from Golang template + // Allow usage of simple function from sprig : https://github.com/Masterminds/sprig + t, err := template.New("hermes").Funcs(sprig.FuncMap()).Parse(tplt) + if err != nil { + return "", err } var b bytes.Buffer t.Execute(&b, Template{*h, email}) - return &b, nil + return b.String(), nil } diff --git a/hermes_test.go b/hermes_test.go index a0b02ae..30284e7 100644 --- a/hermes_test.go +++ b/hermes_test.go @@ -5,7 +5,7 @@ import ( "testing" ) -func TestHermes(t *testing.T) { +func TestHermes_ok(t *testing.T) { h := Hermes{ Product: Product{ @@ -44,4 +44,48 @@ func TestHermes(t *testing.T) { r, err := h.GenerateHTML(email) t.Log(r) assert.Nil(t, err) + assert.NotEmpty(t, r) + + r, err = h.GeneratePlainText(email) + t.Log(r) + assert.Nil(t, err) + assert.NotEmpty(t, r) + + assert.Equal(t, h.Theme.Name(), "default") +} + +func TestHermes_defaultTextDirection(t *testing.T) { + h := Hermes{ + Product: Product{ + Name: "Hermes", + Link: "http://hermes.com", + }, + TextDirection: "not-existing", // Wrong text-direction + } + + email := Email{ + Body{ + Name: "Jon Snow", + Intros: []string{ + "Welcome to Hermes! We're very excited to have you on board.", + }, + Actions: []Action{ + { + Instructions: "To get started with Hermes, please click here:", + Button: Button{ + Color: "#22BC66", + Text: "Confirm your account", + Link: "https://hermes-example.com/confirm?token=d9729feb74992cc3482b350163a1a010", + }, + }, + }, + Outros: []string{ + "Need help, or have questions? Just reply to this email, we'd love to help.", + }, + }, + } + + _, err := h.GenerateHTML(email) + assert.Nil(t, err) + assert.Equal(t, h.TextDirection, TDLeftToRight) } diff --git a/screens/default/receipt.png b/screens/default/receipt.png new file mode 100644 index 0000000000000000000000000000000000000000..ffe2899fdf7fed42c2a56a506eea71bac539a395 GIT binary patch literal 86720 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