diff --git a/README.md b/README.md index 756353c..a3dd491 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ Inspired by the [juice](https://github.com/Automattic/juice) library. ## Features -- Uses [cheerio](https://github.com/cheeriojs/cheerio) instead of jsdom - Works on Windows - Preserves Doctype - Modular @@ -171,10 +170,6 @@ When a data-embed attribute is present on a tag, inline-css will This can be used to embed email client support hacks that rely on css selectors into your email templates. -### cheerio options - -Options to passed to [cheerio](https://github.com/cheeriojs/cheerio). - ## Contributing See the [CONTRIBUTING Guidelines](https://github.com/jonkemp/inline-css/blob/master/CONTRIBUTING.md) diff --git a/index.js b/index.js index 9bad1a8..22ee5b6 100644 --- a/index.js +++ b/index.js @@ -16,11 +16,6 @@ module.exports = (html, options) => new Promise((resolve, reject) => { HBS: { start: '{{', end: '}}' } }, xmlMode: false, - decodeEntities: false, - lowerCaseTags: true, - lowerCaseAttributeNames: false, - recognizeCDATA: false, - recognizeSelfClosing: false }, options); inlineContent(String(html), opt) diff --git a/lib/handleRule.js b/lib/handleRule.js index 9869a6e..b306360 100644 --- a/lib/handleRule.js +++ b/lib/handleRule.js @@ -3,21 +3,23 @@ const parseCSS = require('css-rules'); const styleSelector = cssSelector('

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/packages/style-data/test/expected/ejs.html b/packages/style-data/test/expected/ejs.html index 456ac17..0eb1f9d 100644 --- a/packages/style-data/test/expected/ejs.html +++ b/packages/style-data/test/expected/ejs.html @@ -1,5 +1,7 @@ - -<%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %> + + + +<%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %>
>
diff --git a/packages/style-data/test/expected/media-queries/out.html b/packages/style-data/test/expected/media-queries/out.html index a6631cb..f280691 100644 --- a/packages/style-data/test/expected/media-queries/out.html +++ b/packages/style-data/test/expected/media-queries/out.html @@ -1,4 +1,6 @@ - + + + @@ -12,9 +14,11 @@

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/packages/style-data/test/expected/no-style-tag/out.html b/packages/style-data/test/expected/no-style-tag/out.html index 83f50ca..2d581a8 100644 --- a/packages/style-data/test/expected/no-style-tag/out.html +++ b/packages/style-data/test/expected/no-style-tag/out.html @@ -1,12 +1,16 @@ - + + +

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/packages/style-data/test/expected/out.html b/packages/style-data/test/expected/out.html index 12033a1..4d472c0 100644 --- a/packages/style-data/test/expected/out.html +++ b/packages/style-data/test/expected/out.html @@ -1,12 +1,17 @@ - - + + + + +

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/packages/style-data/test/fixtures/codeblocks-external.html b/packages/style-data/test/fixtures/codeblocks-external.html index 73a6a99..451d9fc 100644 --- a/packages/style-data/test/fixtures/codeblocks-external.html +++ b/packages/style-data/test/fixtures/codeblocks-external.html @@ -1,6 +1,4 @@ -

<>

- - +

<>

diff --git a/packages/style-data/test/fixtures/codeblocks.html b/packages/style-data/test/fixtures/codeblocks.html index 66dc1c5..9147408 100644 --- a/packages/style-data/test/fixtures/codeblocks.html +++ b/packages/style-data/test/fixtures/codeblocks.html @@ -1,6 +1,4 @@ - {{#if `age <= 40`}}

Young

{{/if}} - - + {{#if `age <= 40`}}

Young

{{/if}} \ No newline at end of file diff --git a/packages/style-data/test/fixtures/data-embed/in.html b/packages/style-data/test/fixtures/data-embed/in.html index d47798e..13dd78b 100644 --- a/packages/style-data/test/fixtures/data-embed/in.html +++ b/packages/style-data/test/fixtures/data-embed/in.html @@ -39,6 +39,4 @@

Hi

Some Headline - - - + diff --git a/packages/style-data/test/fixtures/ejs.html b/packages/style-data/test/fixtures/ejs.html index ab4349f..0fd221a 100644 --- a/packages/style-data/test/fixtures/ejs.html +++ b/packages/style-data/test/fixtures/ejs.html @@ -1,6 +1,4 @@ <%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %> -
>
- - +
>
diff --git a/packages/style-data/test/fixtures/in.html b/packages/style-data/test/fixtures/in.html index 8075ca5..34dbec6 100644 --- a/packages/style-data/test/fixtures/in.html +++ b/packages/style-data/test/fixtures/in.html @@ -14,6 +14,4 @@

Hi

Some Headline - - - + diff --git a/packages/style-data/test/fixtures/media-queries/in.html b/packages/style-data/test/fixtures/media-queries/in.html index b956e7f..7c0ca90 100644 --- a/packages/style-data/test/fixtures/media-queries/in.html +++ b/packages/style-data/test/fixtures/media-queries/in.html @@ -21,6 +21,4 @@

Hi

Some Headline - - - + diff --git a/packages/style-data/test/fixtures/no-style-tag/in.html b/packages/style-data/test/fixtures/no-style-tag/in.html index 3fbc6ca..518486d 100644 --- a/packages/style-data/test/fixtures/no-style-tag/in.html +++ b/packages/style-data/test/fixtures/no-style-tag/in.html @@ -9,6 +9,4 @@

Hi

Some Headline - - - + diff --git a/packages/style-data/test/main.js b/packages/style-data/test/main.js index bdcd960..82c0977 100644 --- a/packages/style-data/test/main.js +++ b/packages/style-data/test/main.js @@ -20,13 +20,7 @@ function compare(fixturePath, expectedHTML, css, options, done) { const file = getFile(fixturePath); getStylesData(file.contents.toString('utf8'), options, (err, results) => { - beautify(results.html, { - "preserve-newlines": false - }).should.be.equal( - beautify(String(fs.readFileSync(expectedHTML)), { - "preserve-newlines": false - }) - ); + beautify(results.html).should.be.equal(beautify(String(fs.readFileSync(expectedHTML)))); should.deepEqual(results.css, css); done(); }); diff --git a/test/expected/character-entities.html b/test/expected/character-entities.html index bad386e..5503d40 100644 --- a/test/expected/character-entities.html +++ b/test/expected/character-entities.html @@ -1,3 +1,5 @@ - + + +

Dear <insert name>,

diff --git a/test/expected/codeblocks-external.html b/test/expected/codeblocks-external.html index 73a6a99..49ce0b8 100644 --- a/test/expected/codeblocks-external.html +++ b/test/expected/codeblocks-external.html @@ -1,5 +1,6 @@ +

<>

diff --git a/test/expected/codeblocks.html b/test/expected/codeblocks.html index 68fe9b0..9ee44f7 100644 --- a/test/expected/codeblocks.html +++ b/test/expected/codeblocks.html @@ -1,4 +1,7 @@ - + + + + {{#if `age <= 40`}}

Young

{{/if}} - + diff --git a/test/expected/doctype.html b/test/expected/doctype.html index 9df4037..afd5973 100644 --- a/test/expected/doctype.html +++ b/test/expected/doctype.html @@ -1,5 +1,6 @@ - + +

hello

diff --git a/test/expected/ejs.html b/test/expected/ejs.html index b19533c..6450252 100644 --- a/test/expected/ejs.html +++ b/test/expected/ejs.html @@ -1,5 +1,7 @@ - + + -<%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %> +<%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %>
>
- + + diff --git a/test/expected/font-quotes.html b/test/expected/font-quotes.html index 7a84300..37c64da 100644 --- a/test/expected/font-quotes.html +++ b/test/expected/font-quotes.html @@ -1,4 +1,5 @@ - + + diff --git a/test/expected/media.html b/test/expected/media.html index 06e907d..445519b 100644 --- a/test/expected/media.html +++ b/test/expected/media.html @@ -1,4 +1,6 @@ - + + +

hi

diff --git a/test/expected/multiple/one/out.html b/test/expected/multiple/one/out.html index 22634c9..9572563 100644 --- a/test/expected/multiple/one/out.html +++ b/test/expected/multiple/one/out.html @@ -7,9 +7,9 @@

Hi

- + -
Some Headline
+ diff --git a/test/expected/multiple/two/out.html b/test/expected/multiple/two/out.html index 05edb7f..b47ce95 100644 --- a/test/expected/multiple/two/out.html +++ b/test/expected/multiple/two/out.html @@ -7,9 +7,11 @@

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/test/expected/normalize.html b/test/expected/normalize.html index 5e117bb..b53ddd9 100644 --- a/test/expected/normalize.html +++ b/test/expected/normalize.html @@ -1,4 +1,5 @@ - + +

normalize.css

diff --git a/test/expected/out.html b/test/expected/out.html index 82345e1..5d0df29 100644 --- a/test/expected/out.html +++ b/test/expected/out.html @@ -1,11 +1,17 @@ - - + + + + + +

Hi

- - - -
Some Headline
+ + + Some Headline + + + diff --git a/test/expected/remote_url.html b/test/expected/remote_url.html index ea7c5ea..f69a220 100644 --- a/test/expected/remote_url.html +++ b/test/expected/remote_url.html @@ -1,6 +1,8 @@ - - - -

hello

+ + + + + +

hello

diff --git a/test/expected/spaces_in_path.html b/test/expected/spaces_in_path.html index 32d6a2d..2e76220 100644 --- a/test/expected/spaces_in_path.html +++ b/test/expected/spaces_in_path.html @@ -1,5 +1,7 @@ - - + + + +

hello, you are my favorite person

diff --git a/test/expected/table-attr.html b/test/expected/table-attr.html index f2086f5..53a54d9 100644 --- a/test/expected/table-attr.html +++ b/test/expected/table-attr.html @@ -1,26 +1,34 @@ - + + + - - - -
- - - - -
- empty -
-
+ + + + + + + + + +
+ empty +
+ + + + - - - -
- empty -
+ + + + empty + + + + diff --git a/test/expected/two_styles.html b/test/expected/two_styles.html index 0852618..365a80e 100644 --- a/test/expected/two_styles.html +++ b/test/expected/two_styles.html @@ -1,5 +1,9 @@ - - + + + + + +

hello, you are my favorite person

diff --git a/test/expected/width-attr.html b/test/expected/width-attr.html index dae4f84..d5bfb5a 100644 --- a/test/expected/width-attr.html +++ b/test/expected/width-attr.html @@ -1,15 +1,18 @@ - + +

none

- - - -
- wide -
+ + + + wide + + + + wide diff --git a/test/expected/yui-reset.html b/test/expected/yui-reset.html index ed01a7d..0ad6672 100644 --- a/test/expected/yui-reset.html +++ b/test/expected/yui-reset.html @@ -1,4 +1,5 @@ - + +

hello

diff --git a/test/fixtures/cascading.html b/test/fixtures/cascading.html index 98048a9..c4e0f4b 100644 --- a/test/fixtures/cascading.html +++ b/test/fixtures/cascading.html @@ -9,5 +9,4 @@ - - + diff --git a/test/fixtures/character-entities.html b/test/fixtures/character-entities.html index 0272a19..b146b32 100644 --- a/test/fixtures/character-entities.html +++ b/test/fixtures/character-entities.html @@ -1,3 +1,2 @@ -

Dear <insert name>,

- +

Dear <insert name>,

diff --git a/test/fixtures/class+id.html b/test/fixtures/class+id.html index 23fedc8..277114d 100644 --- a/test/fixtures/class+id.html +++ b/test/fixtures/class+id.html @@ -1,3 +1,2 @@ -

Woot

- +

Woot

diff --git a/test/fixtures/class.html b/test/fixtures/class.html index 7a5478b..8513b30 100644 --- a/test/fixtures/class.html +++ b/test/fixtures/class.html @@ -1,4 +1,3 @@
Test
-
Test
- +
Test
diff --git a/test/fixtures/codeblocks-external.html b/test/fixtures/codeblocks-external.html index 73a6a99..451d9fc 100644 --- a/test/fixtures/codeblocks-external.html +++ b/test/fixtures/codeblocks-external.html @@ -1,6 +1,4 @@ -

<>

- - +

<>

diff --git a/test/fixtures/codeblocks.html b/test/fixtures/codeblocks.html index 66dc1c5..9147408 100644 --- a/test/fixtures/codeblocks.html +++ b/test/fixtures/codeblocks.html @@ -1,6 +1,4 @@ - {{#if `age <= 40`}}

Young

{{/if}} - - + {{#if `age <= 40`}}

Young

{{/if}} \ No newline at end of file diff --git a/test/fixtures/css-quotes.html b/test/fixtures/css-quotes.html index 5c6da3b..5e78215 100644 --- a/test/fixtures/css-quotes.html +++ b/test/fixtures/css-quotes.html @@ -1,3 +1,2 @@ -

woot

- +

woot

diff --git a/test/fixtures/direct-descendents.html b/test/fixtures/direct-descendents.html index e0e27af..d433e10 100644 --- a/test/fixtures/direct-descendents.html +++ b/test/fixtures/direct-descendents.html @@ -1,3 +1,2 @@ -

woot

- +

woot

diff --git a/test/fixtures/doctype.html b/test/fixtures/doctype.html index afd5973..7cd5adf 100644 --- a/test/fixtures/doctype.html +++ b/test/fixtures/doctype.html @@ -3,6 +3,4 @@ -

hello

- - +

hello

diff --git a/test/fixtures/ejs.html b/test/fixtures/ejs.html index 29dc2cb..0053d42 100644 --- a/test/fixtures/ejs.html +++ b/test/fixtures/ejs.html @@ -1,5 +1,4 @@ <%= config.sitePrefix %>verify?grant=<%= grant._id %>&secret=<%= grant.secret %> -
>
- +
>
\ No newline at end of file diff --git a/test/fixtures/empty.html b/test/fixtures/empty.html index 78b6414..0dc101b 100644 --- a/test/fixtures/empty.html +++ b/test/fixtures/empty.html @@ -1,2 +1 @@ - - + diff --git a/test/fixtures/font-quotes.html b/test/fixtures/font-quotes.html index 90b0ba0..b8c2254 100644 --- a/test/fixtures/font-quotes.html +++ b/test/fixtures/font-quotes.html @@ -8,6 +8,4 @@

hi

-

there

- - +

there

diff --git a/test/fixtures/id.html b/test/fixtures/id.html index 360178c..cb6591c 100644 --- a/test/fixtures/id.html +++ b/test/fixtures/id.html @@ -1,3 +1,2 @@ -
woot
- +
woot
diff --git a/test/fixtures/ignore-pseudos.html b/test/fixtures/ignore-pseudos.html index 16fa698..83bff74 100644 --- a/test/fixtures/ignore-pseudos.html +++ b/test/fixtures/ignore-pseudos.html @@ -1,3 +1,2 @@ -Test - +Test diff --git a/test/fixtures/important.html b/test/fixtures/important.html index 132d1c8..16249ab 100644 --- a/test/fixtures/important.html +++ b/test/fixtures/important.html @@ -1,3 +1,2 @@ -woot - +woot diff --git a/test/fixtures/in.html b/test/fixtures/in.html index 8075ca5..34dbec6 100644 --- a/test/fixtures/in.html +++ b/test/fixtures/in.html @@ -14,6 +14,4 @@

Hi

Some Headline - - - + diff --git a/test/fixtures/media-preserve.html b/test/fixtures/media-preserve.html index e9018e4..2844774 100644 --- a/test/fixtures/media-preserve.html +++ b/test/fixtures/media-preserve.html @@ -19,6 +19,4 @@ -

hi

- - +

hi

diff --git a/test/fixtures/media.html b/test/fixtures/media.html index 57d4649..7aefefb 100644 --- a/test/fixtures/media.html +++ b/test/fixtures/media.html @@ -1,5 +1,3 @@ -

hi

- - +

hi

diff --git a/test/fixtures/multiple/two/in.html b/test/fixtures/multiple/two/in.html index b9e8a8a..bfe83b2 100644 --- a/test/fixtures/multiple/two/in.html +++ b/test/fixtures/multiple/two/in.html @@ -14,6 +14,4 @@

Hi

Some Headline - - - + diff --git a/test/fixtures/no_css.html b/test/fixtures/no_css.html index f96ad54..17c7b49 100644 --- a/test/fixtures/no_css.html +++ b/test/fixtures/no_css.html @@ -1,3 +1,2 @@

hi

- diff --git a/test/fixtures/normalize.html b/test/fixtures/normalize.html index 9f82f39..f670ba6 100644 --- a/test/fixtures/normalize.html +++ b/test/fixtures/normalize.html @@ -2,6 +2,4 @@ -

normalize.css

- - +

normalize.css

diff --git a/test/fixtures/preserve-events.html b/test/fixtures/preserve-events.html index 69574e2..a272055 100644 --- a/test/fixtures/preserve-events.html +++ b/test/fixtures/preserve-events.html @@ -1,4 +1,3 @@ Google -

Google

- +

Google

diff --git a/test/fixtures/regression-media.html b/test/fixtures/regression-media.html index 03125ce..8a8be64 100644 --- a/test/fixtures/regression-media.html +++ b/test/fixtures/regression-media.html @@ -1,3 +1,2 @@ Test -

Test

- \ No newline at end of file +

Test

\ No newline at end of file diff --git a/test/fixtures/regression-selector-newline.html b/test/fixtures/regression-selector-newline.html index d934c59..7b52ce2 100644 --- a/test/fixtures/regression-selector-newline.html +++ b/test/fixtures/regression-selector-newline.html @@ -1,4 +1,3 @@ Test -

Test

- +

Test

diff --git a/test/fixtures/remote_url.html b/test/fixtures/remote_url.html index 3fdf7e3..b60c124 100644 --- a/test/fixtures/remote_url.html +++ b/test/fixtures/remote_url.html @@ -1,8 +1,6 @@ - + -

hello

- - +

hello

diff --git a/test/fixtures/remove-html-selectors.html b/test/fixtures/remove-html-selectors.html index 6c11bbd..abb7b47 100644 --- a/test/fixtures/remove-html-selectors.html +++ b/test/fixtures/remove-html-selectors.html @@ -1,4 +1,3 @@
Test
-
Test
- +
Test
diff --git a/test/fixtures/spaces_in_path.html b/test/fixtures/spaces_in_path.html index 85b08c3..8855034 100644 --- a/test/fixtures/spaces_in_path.html +++ b/test/fixtures/spaces_in_path.html @@ -3,6 +3,4 @@ -

hello, you are my favorite person

- - +

hello, you are my favorite person

diff --git a/test/fixtures/specificity.html b/test/fixtures/specificity.html index 5357f84..577c1c5 100644 --- a/test/fixtures/specificity.html +++ b/test/fixtures/specificity.html @@ -3,5 +3,4 @@
- - + diff --git a/test/fixtures/style-preservation.html b/test/fixtures/style-preservation.html index 8a646da..51b37d2 100644 --- a/test/fixtures/style-preservation.html +++ b/test/fixtures/style-preservation.html @@ -1,3 +1,2 @@ -

The color should stay intact

- +

The color should stay intact

diff --git a/test/fixtures/table-attr.html b/test/fixtures/table-attr.html index 80aede7..62c734d 100644 --- a/test/fixtures/table-attr.html +++ b/test/fixtures/table-attr.html @@ -5,7 +5,7 @@ background-color: red; float: left; width: 100%; - height: 500PX; + height: 500px; } .tr { background-color: blue; @@ -69,6 +69,4 @@ - - - + diff --git a/test/fixtures/tag.html b/test/fixtures/tag.html index a76ad54..3674945 100644 --- a/test/fixtures/tag.html +++ b/test/fixtures/tag.html @@ -1,3 +1,2 @@ -

Test

- +

Test

diff --git a/test/fixtures/template.ejs b/test/fixtures/template.ejs index c7a5a53..db66d4d 100644 --- a/test/fixtures/template.ejs +++ b/test/fixtures/template.ejs @@ -1,5 +1,4 @@ - + + -

Hi there {{ name.first }} {{ name.last }}

- - +

Hi there {{ name.first }} {{ name.last }}

diff --git a/test/fixtures/two_styles.html b/test/fixtures/two_styles.html index ef38aef..00b5110 100644 --- a/test/fixtures/two_styles.html +++ b/test/fixtures/two_styles.html @@ -16,6 +16,4 @@ -

hello, you are my favorite person

- - +

hello, you are my favorite person

diff --git a/test/fixtures/width-attr.html b/test/fixtures/width-attr.html index 9f50388..43b0ea4 100644 --- a/test/fixtures/width-attr.html +++ b/test/fixtures/width-attr.html @@ -15,6 +15,4 @@ - wide - - + wide diff --git a/test/fixtures/xhtml.html b/test/fixtures/xhtml.html index 1ed1907..a4cc147 100644 --- a/test/fixtures/xhtml.html +++ b/test/fixtures/xhtml.html @@ -5,6 +5,4 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/test/fixtures/yui-reset.html b/test/fixtures/yui-reset.html index 1c1c382..ea9c7a4 100644 --- a/test/fixtures/yui-reset.html +++ b/test/fixtures/yui-reset.html @@ -2,6 +2,4 @@ -

hello

- - +

hello

diff --git a/test/main.js b/test/main.js index 0475abb..80297de 100644 --- a/test/main.js +++ b/test/main.js @@ -24,12 +24,7 @@ function compare(fixturePath, expectedPath, options, done) { inlineCss(file.contents.toString('utf8'), options) .then(html => { - const expected = beautify(String(fs.readFileSync(expectedPath)), { - "preserve-newlines": false - }); - beautify(html, { - "preserve-newlines": false - }).should.be.equal(expected); + beautify(html).should.be.equal(beautify(String(fs.readFileSync(expectedPath)))); }) .then(() => { done() @@ -276,22 +271,15 @@ describe('inline-css', () => { }); it('Should ignore hbs code blocks', done => { - const options = { - xmlMode: true - }; - compare(path.join('test', 'fixtures', 'codeblocks.html'), path.join('test', 'expected', 'codeblocks.html'), options, done); + compare(path.join('test', 'fixtures', 'codeblocks.html'), path.join('test', 'expected', 'codeblocks.html'), {}, done); }); it('Should ignore ejs code blocks', done => { - const options = { - xmlMode: false - }; - compare(path.join('test', 'fixtures', 'ejs.html'), path.join('test', 'expected', 'ejs.html'), options, done); + compare(path.join('test', 'fixtures', 'ejs.html'), path.join('test', 'expected', 'ejs.html'), {}, done); }); it('Should ignore user defined code blocks', done => { const options = { - xmlMode: true, codeBlocks: { craze: { start: '<<', end: '>>' } }