Commit Graph

274 Commits

Author SHA1 Message Date
Cameron McCormack
d88c9afc63 Use a hard coded classesToPreserve in tests. 2017-11-21 10:04:59 +00:00
Cameron McCormack
6729538c77 Clean IDs and classes from output. 2017-11-21 10:04:59 +00:00
Tomas Dvorak
19b9f9de14 added npmignore for test and benchmarks resources 2017-11-13 13:32:23 +00:00
Björgvin Ragnarsson
c3ff1a2d2c remove dead code 2017-11-02 23:15:13 +00:00
Iqbal Ahmed
b3fde168cb Allow the word threshold parameter to be configurable 2017-09-19 15:38:10 +01:00
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
2017-08-09 20:26:34 +01:00
Gijs Kruitbosch
6f0bd81dfa Provide more useful output when attributes mismatch, r=me,test-only 2017-08-09 20:05:47 +01:00
Gijs Kruitbosch
c387d12bc4 Fix eslint issue by unpacking ternary into a proper if statement 2017-07-17 13:25:56 +01:00
Gijs
bfd14522c4 Update eslint to try to fix issues on infra 2017-07-17 13:08:19 +01:00
Gijs
f6443ed18b Match node version from package.json in travis.yml 2017-07-17 12:49:57 +01:00
Gijs
264946aa15 Require Node >=6.5 to have .includes available
Per #382 and http://node.green/, 6.5 should be necessary/sufficient.
2017-07-17 11:54:22 +01:00
SahilAgarwal321
f0edc77cb5 Fixed bugzilla bug list link 2017-05-05 19:08:19 +01:00
Gijs
ab09b706ed Mention you need a DOM document object
Per #376 it doesn't seem to be clear that you need a DOM to use Readability. This is an attempt to include this information in the README.
2017-04-26 12:32:19 +01:00
Evan Tseng
924017c686 Merge pull request #370 from evanxd/bug-1347472
Bug 1347472 - Tests for WordPress blogs, r=Gijs
2017-03-17 11:09:14 +08:00
Evan Tseng
f6d0840b82 Bug 1347472 - Tests for WordPress blogs, r=Gijs 2017-03-15 17:46:07 +08:00
Evan Tseng
9561aff883 Merge pull request #368 from evanxd/bug-1346717
Bug 1346717 - Tests for youth.cn, r=Gijs
2017-03-14 11:29:16 +08:00
Evan Tseng
0e147aa722 Bug 1346717 - Tests for youth.cn, r=Gijs 2017-03-13 17:43:50 +08:00
Evan Tseng
630a0b7367 Bug 1346155 - Tests for gmw.cn, r=Gijs 2017-03-10 10:51:28 +00:00
Evan Tseng
fe6f7a4910 Merge pull request #362 from evanxd/bug-1345797
Bug 1345797 - Tests for yahoo.co.jp, r=Gijs
2017-03-10 11:36:09 +08:00
Evan Tseng
8976fb08bf Bug 1345797 - Tests for yahoo.co.jp, r=Gijs 2017-03-09 18:01:31 +08:00
Evan Tseng
3e07e06b1c Merge pull request #358 from evanxd/bug-1342355
Bug 1342355 - Add tests for wikia.com, r=Gijs
2017-03-01 16:59:15 +08:00
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).
2017-02-27 14:56:26 +00:00
Farbdose
aed7f10594 Remove general part of title when viewing websites with hierarchical titles 2017-02-27 14:56:26 +00:00
Gijs
5e56271e45 Add eslint into "Tests" section as well. 2017-02-27 14:14:13 +00:00
Gijs
b49483c772 Fix some formatting/grammar snafus 2017-02-27 14:12:15 +00:00
Gijs
eca9bd0cdd Clarify use of testcase generation script a little 2017-02-27 14:11:09 +00:00
Gijs
286f94bb35 Point to automated tests and eslint in readme 2017-02-27 14:08:17 +00:00
Evan Tseng
e48451c48c Bug 1342355 - Add tests for wikia.com, r=Gijs 2017-02-24 18:07:24 +08:00
Evan Tseng
c7c26382b9 Bug 1217007 - Remove nodes without any content, r=Gijs 2017-02-22 09:41:49 +00:00
Evan Tseng
0f147374b7 Bug 1323861 - Remove the readScript method, r=Gijs 2017-02-22 09:39:17 +00:00
Evan Tseng
27b97434a3 Merge pull request #352 from evanxd/bug-1338468
Bug 1338468 - Tests for tumblr.com, r=Gijs
2017-02-21 18:19:46 +08:00
Evan Tseng
913ecc7c31 Merge pull request #353 from evanxd/bug-1338475
Bug 1338475 - Tests for pixnet.net, r=Gijs
2017-02-21 18:03:53 +08:00
Evan Tseng
b46e316034 Bug 1338468 - Tests for tumblr.com, r=Gijs 2017-02-10 17:39:25 +08:00
Evan Tseng
bd2d9f8100 Bug 1338475 - Tests for pixnet.net, r=Gijs 2017-02-10 17:35:22 +08:00
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
2017-02-09 18:27:01 +08:00
Gijs Kruitbosch
66c013c4fb Make it easier to find where errors are coming from based on the error message 2017-01-30 15:19:37 +01:00
Gijs Kruitbosch
9baea36169 Fix bug 1322674 by not removing content in data tables 2017-01-30 15:19:10 +01:00
Evan Tseng
498a7b2bf6 Merge pull request #347 from evanxd/bug-1259763
Bug 1259763 - Remove h2 when there is only one h2 and its text content substantially equals article title, r=Gijs
2017-01-29 11:50:07 +08:00
Evan Tseng
19f2124c82 Bug 1259763 - Remove h2 when there is only one h2 and its text content substantially equals article title, r=Gijs 2017-01-28 13:41:56 +08:00
Evan Tseng
ccc8e9bf4c Bug 1330931 - Add tests for nytimes.com, r=Gijs 2017-01-23 11:56:36 +00:00
Evan Tseng
15e1f03261 Bug 1300697 - Reader View missed first few paragraphs on New York Times website, r=Gijs 2017-01-21 17:46:50 +00:00
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.
2017-01-21 17:46:50 +00:00
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.
2017-01-21 17:46:50 +00:00
Evan Tseng
a58913d975 Bug 1300697 - Add test for New York Times website 2017-01-21 17:46:50 +00:00
Evan Tseng
a762f8c3be Merge pull request #342 from evanxd/bug-1332236
Bug 1332236 - Add tests for cnet.com, r=Gijs
2017-01-20 11:22:41 +08:00
Evan Tseng
ad13a63065 Bug 1332236 - Add tests for cnet.com, r=Gijs 2017-01-20 11:17:49 +08:00
Gijs Kruitbosch
2b28d6022f Merge branch 'Treora-commonjs' 2017-01-17 16:18:20 +00:00
Gijs Kruitbosch
f1797fcf7e Merge branch 'commonjs' of https://github.com/Treora/readability into Treora-commonjs 2017-01-17 16:17:04 +00:00
Gerben
43c54e8a71 Fix tiny mistake (typeof dump !== 'undefined') 2017-01-17 14:43:11 +00:00
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
2017-01-17 12:08:39 +08:00