- Disable Detergent due to performance issues.
- Dependency upgrades
- Fix: do not write emails to file system when calling
compileEmail
- Improve log formatting
- Improved file saving logic
- Docs: clarified API
- Deps: upgraded dependencies
- New: pass an array of
whitelistSelectors
. These selectors will not be stripped from the HTML. For more information, see here. - New:
compileEmail
method added to support compiling a single email without saving to the file system - Performance: faster file system interactions!
- Automatically add
<meta>
tag to prevent iOS 11 scaling (more info: https://litmus.com/blog/what-email-marketers-need-to-know-about-ios-11-and-the-new-iphones)
- Autoprefixer now adds
-moz
and-webkit
for CSS gradients
Fixes:
options
hash is now optional- Source maps no longer interfere with production CSS cleanup
New: optionally pass a custom doctype
Fix: recompile Nunjucks templates without caching
BREAKING CHANGES:
- Replaced Handlebars with Nunjucks, so templates should now be
.njk
files - Renamed
content.json
tocontext.json
to conform to Nunjucks community standard - Dropped support for Node <8
New:
- Added support for
@font-face
in CSS - Added support for pseudo-classes in CSS:
:hover
,:visited
,:active
,:focus
- Automatically add recommended
<meta>
tags to<head>
- Automatically add hack for Outlook zooming on 120 DPI windows devices
- Fix dependency issue
- Breaking Change: Markdown support must now be enabled explicitly via the
options
parameter - Updated syntax to ES6
- Updated ESLint rules, added Prettier
- Do not parse content strings that begin with
mailto:
as Markdown
- Replace
"
HTML entities in anchorhref
s to support dynamic unsubscribe links
- Disable email-remove-unused-css (added in 0.5.10) due to performance issues.
- Whitelist
#preview_text
instead of#preview-text
- Correctly pull image sizes from the cache. Should speed up compile times.
- Added
#preview-text
to whitelist so it isn't stripped by the minifier (fixes issue #11)
- Allow empty
html.handlebars
andtext.handlebars
files
- Table cells that contain only HTML (ex:
<img>
) are no longer treated as empty cells
- Empty table cells (
<td>
) are automatically filled with a non-breaking space (
). An "empty" table cell is defined to be any table cell that contains either no characters or whitespace only.
The versioning somehow got out of sync on this log. Whoops. Okay here we go.
- Handle non-existent images gracefully
- Disable detergent for now as it does not handle URLs properly
- Remove unnecessary duplicate CSS width/height on images (since images also have width/height HTML attributes)
- Anchor tags (
<a>
) always gettarget="_blank"
- Use detergent to clean HTML special characters, clean invisible characters, and improve English style
- Use email-remove-unused-css on production HTML to strip unused CSS
- Updated
reset-head.scss
to include a fix for formatting automatic links on iOS device
- Decode HTML entities in text version
- Recursively import Handlebars partials files
- Automatically determine image sizes and inject those dimensions into the HTML as HTML attributes and inline CSS styles. See README for more information.
- Automatically add default HTML attributes to
table
s andimg
s. See README for more information. - Example Gulpfile
- CSS sourcemaps
- Add HTML attributes for width/height styles to
<img>
s,<table>
s, etc.
- Newlines are replaced with
<br>
in HTML
- Fix for nested JSON content
- Support nested JSON content
- All content in
content.json
files is now parsed as Markdown - Added
yarn.lock
for Yarn support
- BrowserSync is no longer built-in. This project is just a compiler. More info coming soon...
- Move main methods to publicly-available
index.js
- ESLint pre-commit hook
- Updated dependencies
- Improved error handling and reporting
- Upgraded all dependencies
!important
directive added to all media query styles- Autoprefixer (add/remove vendor prefixes to CSS rules using values from Can I Use)
- MQ Packer (pack same CSS media query rules into one media query rule)
- Development build that references sourcemapped external stylesheets
- Improved installation process
- Start the compiler using
npm start
- Improved common reset styles
- Cache compiled common reset styles in memory
- Moved global configuration to global memory
- Major refactor to improve concurrency and extensibility
- Support for inline and header reset styles