- Resolve css variables
- Fix: An error is thrown in resetCounter when adding an counter-reset inline style to an element in combination with a different style (e.g., in head).
- pseudo Update
- !important table attribute update
- Breaking: requires node 10+
- Please see changes in web-resource-inliner@5 for other details
- Drop support for Node.js 4
- Fix bug with
getPreservedText
(mixed uppreservePseudos
andignorePseudos
)
- Add
codeBlocks
support in CLI--options-file
- Fix gradient CSS being inlined into the
background
attribute
- Adds
preservePseudos
option with defaulttrue
- Adds
th
to list of elements that can receive awidth
attribute
- Adds
preserveKeyFrames
option
- fix help typo
- fix memory leak in cheerio code block encode/decode
- update TS definition to allow for optional fileContent option
- Fix code blocks encode/decode so cheerio doesn't mulch them if they are tag attributes
- Fix regex catastrophic backtracking issue with unclosed code blocks
- Adds support for
preserveImportant
to CLI
- Updated typescript definitions
- deps: update web-resource-inliner and cross-spawn
- engine: specify support as node 4.2+
- feat: add option
codeBlocks
to support general exclusion of fenced code, like EJS, HBS, etc.
- deps: install mensch from npm instead of github
- deps: upgrade web-resource-inliner, change cross-spawn-async to cross-spawn, move batch to devDeps
- fix: specificity bugs
- deps: upgrade cheerio, cssom, web-resource-inliner
- major: most options default to
true
instead offalse
now - major: remove deprecated
toArray
- feat: exclude css properties from inliner with juiceClient.excludedProperties
- fix: specificity of consecutive !important rules
- cli: correctly handle absolute path for
optionsFile
- cli: convert all numbers and booleans from default string values
- Replace deprecated dep
win-spawn
withcross-spawn-async
- Add option
insertPreservedExtraCss
- Switch xtend to deep-extend to fix issue loading webResources settings when using --options-file
- Make all options available through CLI
- Add
--options-file
to CLI for loading JSON options - Make CLI tests work on Windows
- Deprecate
utils.toArray()
- Fix handling of
:not()
specificity
- Refactor to provide browser support at
juice/client
- Add option
applyHeightAttributes
- Bump dep
web-resource-inliner
- Add feature
data-embed
attribute - update deps: web-resource-inliner, batch, commander, slick
- Exclude non-visual tags from inlining
- Add option
preserveFontFaces
- update dep: web-resource-inliner
- Add extra CSS option to CLI
- CLI has test coverage now
- Prevent mangling of EJS tags
- Add option
preserveImportant
- Make lib
use_strict
compliant and lint files
- Add
xmlMode
option
- remove index.js and point
main
in package.json to/lib/juice.js
- publish with line endings fixed in /bin
- Fix order of inlined style properties. Now sorted by selector specificity, resulting in the same computed styles that the original CSS would have had.
- Add option to inline pseudo elements as elements
- added option
applyAttributesTableElements
- bump version on web-resource-inliner to 1.1.1
- fix bin/juice so it works as documented
- legacy support for
url
option - bump version on web-resource-inliner to use
relativeTo
with a url and remote paths starting//
- update skipped tests to mocha so they will run with
npm test
and on travis - bump web-resource-inliner version to expose
strict
option, which is nowfalse
by default
- add support for node 0.12
- drop support for node 0.8
- use cheerio instead of jsdom
- move remote resource fetching to external library web-resource-inliner
- adjust public methods as needed to support other changes
- rename
juiceContent
tojuiceResources
- maintain CSS single quotes
- ability to inline css pixel widths to
width
attribute withapplyWidthAttributes
- alphabetize styles for improved specificity
- ability to keep media query styles with option
preserveMediaQueries
- clean up testing setup, including removing old dependency on expresso
- istanbul put in place to show test coverage
- remove now unused options
applyLinkTags
andremoveLinkTags
- update dependencies [binarykitchen]
- handle errors in loading external css
- add repository field to readme
- update jsdom dependency to 0.6.0
- fix resolving file:// paths on windows (thanks Mirco Zeiss)
- fix crash during cleanup. (thanks Ger Hobbelt)
- update superagent to 0.14.0
- fix regression: not ignoring pseudos
- do not crash on ::selectors (covered by normalize.css test case)
- update jsdom dependency to 0.5.4
- support node v0.10
- switch dependency to slick instead of mootools which was rudely unpublished
- update jsdom dependency to 0.5.0
- fix specificity test. all test cases passed now.
- add a command line
juice
program
- fix incorrectly lowercasing href
- explicitly document which node versions are supported
with
engines
and travis-ci. - expose
juice.inlineDocument
andjuice.inlineContent
- fix / test case for @media queries
- merge boost into juice
- legacy
juice
function still works as is - add
juice(filePath, [options], callback)
- add
juice.juiceDocument(document, options, callback)
- add
juice.juiceContent(html, options, callback)
- remove
juice.juiceDom
- update jsdom dependency to 0.4.0
- update cssom dependency to 0.2.5
- expose a lower level export so you can operate on a jsdom document [superjoe30]
- fix exports not working [superjoe30]
- fix jshint problems [superjoe30]
- fixed test case expected outputs to have starting and ending and tags as jsdom appends them in its html() function if they do not exist
- regression test for previous fix for media queries. note i had to wrap my test .out content in tags in order to pass tests, it looks like they are appended at some point for partial html content which just guessing is new behavior from when these tests were written
- make sure the css rule has selectorText to prevent parsing exception. hit this on @media rules which do not have selector text. afaik this means media queries will not be inlined. however everything else is.
- bump jsdom
- Added note regarding node-email-templates to README
- Corrected juice unit tests for latest cssom.
- Fixed presence of \n in selectors.
- Fixed unneeded removal of inline event handlers in html.
- Bumped jsdom.
- Added whitelist of pseudos to ignore (fixes
:first-child
etc) - Fine-tuned jsdom for speed (disabled unneded features).
- Added caching of parsed selectors.
- Fixed
:hover
.
- Fixed specificity :not recursion.
- Fixed specificity calculation for
not()
and pseudos. [arian]
- Initial release.