Commit Graph

107 Commits (c2e370c2c7890e443a4b0c0eacaf8cb942ad201f)

Author SHA1 Message Date
Andres Rey 5a5c8ba1a2 Add node to elementsToScore when _hasSinglePInsideElement is true 7 years ago
Cameron McCormack 6729538c77 Clean IDs and classes from output. 7 years ago
Björgvin Ragnarsson c3ff1a2d2c remove dead code 7 years ago
Iqbal Ahmed b3fde168cb Allow the word threshold parameter to be configurable 7 years ago
Taylor Hunt b7c32feb25 Remove presentational HTML attributes (#385)
* 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
7 years ago
Gijs Kruitbosch c387d12bc4 Fix eslint issue by unpacking ternary into a proper if statement 7 years ago
Gijs Kruitbosch a63e63c91e Clarify title-splitting code (part of #357)
This adds a number of comments and a wordCount helper function to try to make the code
a bit more readable (which seemed appropriate considering the number of regular expressions).
7 years ago
Farbdose aed7f10594 Remove general part of title when viewing websites with hierarchical titles 7 years ago
Evan Tseng c7c26382b9 Bug 1217007 - Remove nodes without any content, r=Gijs 7 years ago
Evan Tseng 1369f923db Merge pull request #348 from gijsk/1322674-table-divs
Fix bug 1322674 by only conditionally removing content from tables when the tables are layout tables, r=evanxd
7 years ago
Gijs Kruitbosch 9baea36169 Fix bug 1322674 by not removing content in data tables 8 years ago
Evan Tseng 19f2124c82 Bug 1259763 - Remove h2 when there is only one h2 and its text content substantially equals article title, r=Gijs 8 years ago
Evan Tseng 15e1f03261 Bug 1300697 - Reader View missed first few paragraphs on New York Times website, r=Gijs 8 years ago
andrei-ch 5b1e69bdf2 Bug fix: still not grabbing full content from nytimes.com articles
Solution: strip one level of empty <DIV> elements so they don’t
obstruct merging adjacent content downstream.
8 years ago
andrei-ch 486927ebd9 Bug fix: many pages only grab partial content (dirty.ru, nytimes.com)
1) Avoid conversion of whitespace text nodes into paragraphs. They
create a lot of noise and actually prevent sibling joining logic from
working in many pages.

2) Handle case when adjacent content is actually located in parent's
sibling node instead of top candidate’s sibling.
8 years ago
Gijs Kruitbosch 2b28d6022f Merge branch 'Treora-commonjs' 8 years ago
Gijs Kruitbosch f1797fcf7e Merge branch 'commonjs' of https://github.com/Treora/readability into Treora-commonjs 8 years ago
Gerben 43c54e8a71 Fix tiny mistake (typeof dump !== 'undefined') 8 years ago
Evan Tseng e1c7170d85 Merge pull request #309 from evanxd/bug-1167568
Bug 1167568 - Find a better topCandidate if there are other nodes scores are high enough, r=Gijs
8 years ago
Evan Tseng 131d923d38 Bug 1167568 - Find a better topCandidate if there are other nodes scores are high enough, r=Gijs 8 years ago
Gerben d63576be0f CommonJS support: set module.exports = Readability 8 years ago
Evan Tseng cec7d90a14 Merge pull request #336 from gijsk/remove-ews-hack
Remove hack for EWS content management system, r=evanxd
8 years ago
Gijs 0d3043dacb Remove hack for EWS content management system
Per issue #322
8 years ago
Sebastian Hengst 5e9c7a3910 Bug 1322327 - Only remove images which are not descendants of a figure if there is more than one image, update affected tests 8 years ago
andrei-ch c5ff44d8fe Clean <input>,<textarea>,<select>,<button> elements 8 years ago
Evan Tseng 63230a307a Bug 1142312 - Add two more types of unlikely candidates: cover-wrap and yom-remote, r=Gijs 8 years ago
andrei-ch 4a0d08c56a font-to-span conversion skips half the font elements on 'real' DOMs 8 years ago
Evan Tseng e84c0c3f07 Bug 1285543 - Only use "og:title" or "twitter:title" if _getArticleTitle does not return a valid title, r=Gijs 8 years ago
Evan Tseng 33dc8fa023 Bug 1255978 - Remove legends candidate, r=Gijs 8 years ago
Evan Tseng af0aa5c59f Bug 1173548 - Find out text direction from ancestors of final candidate, r=Gijs 8 years ago
Evan Tseng 4fa0d1b207 Bug 1177619 - Score div nodes which have br nodes. r=Gijs 8 years ago
Taylor Hunt 71aa562387 Add microformats2 class names to heuristics (#303)
Microformats updated their old `hentry` to [a newer
`h-entry`](http://microformats.org/wiki/h-entry).

With the [number of IndieWeb sites breaking into the
ten-thousands](http://tantek.com/2016/190/b1/state-of-indieweb-summit),
this seems like a fair idea.
8 years ago
Gijs 1a12befa41 Fix code style, tighten up eslint rules (#301) 8 years ago
Ivan Persidsky fd11f92adb Use a dedicated method and backward iteration for removing nodes (#300)
This improves compat with "real" DOMs that provide a live NodeList as the return value of getElementsByTagName.
8 years ago
Gijs Kruitbosch 140d4c4aca Only compute textContent once. 8 years ago
usergit 327bfcb93f exposed textContent to be returned
this returns the text content only, this is useful as it allows the content to be easily accessible
8 years ago
Gijs 69b81f5d70 Fix #287: convert getElementsByTagName result to an array (#288) 8 years ago
Gijs Kruitbosch 46b08a5ea5 Address issue #277 by marking 'modal' unlikely+negative 8 years ago
Peter deHaan b380917b4b Convert nested function declaration to function expression 8 years ago
Gijs Kruitbosch e830ac9dd8 Fix eslint issues identified in m-c 8 years ago
Gijs Kruitbosch dffa760c04 Fix issue #267 by ignoring hash URIs when making URIs absolute 8 years ago
Gijs Kruitbosch a9597efc17 Fix bug 1230050 by checking for the 'hid' class specifically, r?MattN 9 years ago
Gijs a801846a45 Merge pull request #204 from mozilla/tweak-great-grandparent-scoring
Updated great grandparent node scoring.
9 years ago
Nicolas Perriault ae0833522c Improved embedded video elements detection. 9 years ago
Nicolas Perriault 46304bb5fe Updated great grandparent node scoring. 9 years ago
Nicolas Perriault 88ef3893b5 Fixes #180 - Score intermediary headings. 9 years ago
Nicolas Perriault dc1b2c9fa0 Refs #195 - Exclude nodes likely to be related content. 9 years ago
Nicolas Perriault cc18cb5787 Ref #195 - Add support for dailymotion videos. 9 years ago
Nicolas Perriault 9dbc009376 Fixes #113 - Recursive node ancestor scoring. 9 years ago
Nicolas Perriault 44879722b6 Fixes #183 - Preserve list items. 9 years ago