* include more ancestors in candidate scoring
* fix medium-3 testcase
The original source file contained two copies of the document, which
was causing incorrect results
* remove unnecessary nested elements
* fix removal of empty elements
* add option to regenerate all testcases
* update tests
* fix quanta testcase
* fix creating testcase from network
* fix early exit in testcase generation
* format HTML before comparing while testing
* upgrade js-beautify
* don't merge outer readability div
* Remove presentational HTML attributes
Fixes#383
This patch loops through a list of known-presentational attributes in HTML, attempting to remove each from each cleaned element. (Checking for the attribute's existence first seems to just add needless overhead.)
The extra check for the HTML namespace is to avoid removing attributes that inline SVG needs.
* Only remove `width`/`height` for certain elements
Embedded media elements are allowed to have them, but not others.
* Address PR feedback
* Fix loop index formatting
* Only remove `width`/`height` from certain elements
* Combine logic into a single check/remove
* Attempt fixing my recursion
* One weird trick to get your loops to run
* Add inline SVG bailout
Try not to touch any styles for `<svg>`, because it's inherently presentational.
* Update tests to match newly-removed attributes
* Oh those wacky SVGs
The `position:absolute` is a trick to import clipping paths into the document without putting a big 300×150 empty space in it. (`display:none` and such disable the clipPath in some browsers.)
* Whoops, missed some `width`s
* Normalize SVG tagName
JSDOMParser differs from the official DOM here