readability-rb 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef0802d2a5e51416ef279914f65666a671217644df050a35b437e8a40046c8de
4
- data.tar.gz: fe5be59a935e77a94af0b1243a7b2c5457eccbfaaf18452f18a7debf4a7b0560
3
+ metadata.gz: d1b1f82a83ce6cdeb11e08496ffdac052e828ae70938e9febf1f054cf0fffff1
4
+ data.tar.gz: 26b68d2cf32967ea3e0aaa486eb591639001831b461f2ad0b86015d26b9c41f7
5
5
  SHA512:
6
- metadata.gz: '0269968c8945402342b91435868227b09301303ecbffe12ee499161dc0accb231d576cef67c84e434a382dbea1895fc7a520a28c8068ba4a25b5108704f7b480'
7
- data.tar.gz: 5b6a4b7647248c90a40f5316d8a9b498164e6510209c653751664470a2af8d0b9900651a3a5e37be6f3c36b15320f92684044e0279a42363f145e744c34f0dd5
6
+ metadata.gz: ccabf0a76b0f48e7047e97303e13314801159fa368329729ab34079f7f679ab92e86fe3a055a0251c3b4c13dd9028d447c3f560d4762e58b770f7853966f96f3
7
+ data.tar.gz: 7ac4044347dc3f4efc7e24ce182a0b3cfd53504ebf9429a8ca6950f4a140663a3a5f84e19578692d0fc8ba1299bf730d9b1c127b14cc2d0b6bb266d1d5d39cf2
data/README.md CHANGED
@@ -92,6 +92,8 @@ result = Readability.parse(html, serializer: ->(el) { el.to_html })
92
92
  | `allowed_video_regex` | Regex for allowed video embed URLs | built-in |
93
93
  | `link_density_modifier` | Adjust link density calculation | `0` |
94
94
  | `serializer` | Lambda to serialize the content element | `inner_html` |
95
+ | `max_attributes` | Max attributes per element at parse time | `1000` |
96
+ | `max_tree_depth` | Max document tree depth at parse time (`-1` to disable) | `1000` |
95
97
 
96
98
  ## Contributing
97
99
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Readability
4
- VERSION = "0.4.0"
4
+ VERSION = "0.5.0"
5
5
  end
data/lib/readability.rb CHANGED
@@ -15,13 +15,16 @@ require_relative "readability/document"
15
15
  require_relative "readability/readerable"
16
16
 
17
17
  module Readability
18
- def self.parse(html, url: nil, **options)
19
- doc = Nokogiri::HTML5(html)
18
+ DEFAULT_MAX_ATTRIBUTES = 1000
19
+ DEFAULT_MAX_TREE_DEPTH = 1000
20
+
21
+ def self.parse(html, url: nil, max_attributes: DEFAULT_MAX_ATTRIBUTES, max_tree_depth: DEFAULT_MAX_TREE_DEPTH, **options)
22
+ doc = Nokogiri::HTML5(html, max_attributes: max_attributes, max_tree_depth: max_tree_depth)
20
23
  Document.new(doc, url: url, **options).parse
21
24
  end
22
25
 
23
- def self.readerable?(html, **options)
24
- doc = Nokogiri::HTML5(html)
26
+ def self.readerable?(html, max_attributes: DEFAULT_MAX_ATTRIBUTES, max_tree_depth: DEFAULT_MAX_TREE_DEPTH, **options)
27
+ doc = Nokogiri::HTML5(html, max_attributes: max_attributes, max_tree_depth: max_tree_depth)
25
28
  Readerable.probably_readerable?(doc, **options)
26
29
  end
27
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: readability-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Croll