{"action":"opened","issue":{"url":"https://api.github.com/repos/broadly/css-inliner/issues/22","labels_url":"https://api.github.com/repos/broadly/css-inliner/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/broadly/css-inliner/issues/22/comments","events_url":"https://api.github.com/repos/broadly/css-inliner/issues/22/events","html_url":"https://github.com/broadly/css-inliner/issues/22","id":111447563,"number":22,"title":"Generate smaller output by dropping redundant whitespace","user":{"login":"assaf","id":5158,"avatar_url":"https://avatars.githubusercontent.com/u/5158?v=3","gravatar_id":"","url":"https://api.github.com/users/assaf","html_url":"https://github.com/assaf","followers_url":"https://api.github.com/users/assaf/followers","following_url":"https://api.github.com/users/assaf/following{/other_user}","gists_url":"https://api.github.com/users/assaf/gists{/gist_id}","starred_url":"https://api.github.com/users/assaf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/assaf/subscriptions","organizations_url":"https://api.github.com/users/assaf/orgs","repos_url":"https://api.github.com/users/assaf/repos","events_url":"https://api.github.com/users/assaf/events{/privacy}","received_events_url":"https://api.github.com/users/assaf/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/broadly/css-inliner/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-14T17:22:06Z","updated_at":"2015-10-14T17:22:06Z","closed_at":null,"body":"Much of the whitespace in an HTML template is there for readability (authoring the template), but gets ignored by the browser.\r\n\r\nIn some cases we can tell whether to drop whitespace based on the document structure, e.g. whitespace between elements inside `<head>` is insignificant.\r\n\r\nIn other cases, we need to know whether the element is block or inline, based on element type or display property. And whether or not it preserves whitespace, again based on element type or CSS properties.\r\n\r\nWe can use the inlined DOM and set of dynamic rules to introduce a step that drops insignificant whitespace, before serializing the DOM back to HTML."}}