/inline-email

A CLI for converting HTML files to inline styled HTML suitable for emails.

Primary LanguageJavaScriptMIT LicenseMIT

view on npm npm module downloads node Build Status dependencies Status

Inline Email - CLI

A CLI for converting HTML files to inline styled HTML suitable for emails. The CLI also supports Inky HTML-based templating using --inky as an argument. The CLI is designed to make working with ExactTarget, MailChimp, Emarsys, or any other email service easier if you're simply pasting the output into those systems.

You're your curious to learn about the tool's history or see an example usage checkout the Wiki.

inline-email relies heavily on Inky and Juice. The CLI itself is built on top of command-line-args and command-line-usage. Many thanks to the maintainers of those projects.

Supported NodeJS Versions

Current 2.x version of inline-email are tested against NodeJS 8.x -> 11.x. The 2.x will work on version 6.x and 8.x, but the test runners no longer support these so validation is not guaranteed.

Previous 1.x versions of inline-email support NodeJS 6.x -> 9.x. Older NodeJS will not work with this package.

What this does not do.

inline-email does NOT check you're using email safe HTML tags. It also won't replace any non-safe tags.

Installation

npm install -g inline-email

Usage

By default inline-email resolves <link> and <style> tags and inlines the styles found within after which it removes the <link> and <style> tags from the HTML. This process is done using Juice. Currently not all of Juice's options can be passed through the CLI, though it will use the appropriate Juice function to handle your HTML input depending on if you provided css or not.

You can simple print the output to the console.

$ inline-email some.html
> your-html-to-stdout

Or you can send it to a file.

$ inline-email some.html --out inlined.html

If you wish to pass in a .css files (or files) on your own (if your HTML doesn't have <link> or <style> tags) you can. Note that if the file does have these tags they will be ignored and the passed in files will be used instead.

$ inline-email --css some.css --out inlined.html some.html

Inky Usage

With --inky nothing changes, but the HTML file is pre-proccessed through Inky. All the other agruments operate exactly the same.

$ inline-email --inky inky.html
> your-slightly-different-inkyish-output

Contributing with new features

Want to contribute? Follow these recommendations.

License

MIT


© 2018 Freethinking IT hello@freethinking.it