mato 2.3.2 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74c9936ed1ef8bc63b7b0785597f92f4100dad15c432ebf5b6b0bfa5681a2d03
4
- data.tar.gz: 8234e66b936b71bbb25d60e5a2df5cbd1a11903c724fab6a0f2c64e22dcc3c3d
3
+ metadata.gz: a0009a682500eef0ba90fc7166044321a21e0dc8cde9e290938466d81e5d93a9
4
+ data.tar.gz: 44dfea37fc148c34c423d91d496316618f24d911dbc340ebba691cd17632a980
5
5
  SHA512:
6
- metadata.gz: b21e6c3a89540d0775ff30eccefa0f755b5c9f9dd2ac17d40c0d6818430b68222b34bfa06d6337e55c4c52f890dbf308d5cb8b466c02a0f87fb345d45352372c
7
- data.tar.gz: 8fb4996b32a9bbaf34091f7c34fc2e6b03a7fb2899561b98b40cc0e130a024063d0d3e190b751817444e23b9b6c063d67e702dcde77a651aaaffcda5076226f4
6
+ metadata.gz: 703fb8e5f8132eb78887d30d8245c0738ff8b5e14e4662bef1e6f572571429465472b18fe853e3ac58ee1d15f87ef32460f6f2bc716db44e568ffdccd8bd02c1
7
+ data.tar.gz: 265481153e3404d01049e6f79550573839024095597168180c6310a8bbc8d9b2ed491dad9723fee3a4d57ca38888b64341c173054c8418ae1eb04497cfc9802a
data/.rubocop.yml CHANGED
@@ -3,7 +3,7 @@ require:
3
3
  - rubocop-performance
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.4
6
+ TargetRubyVersion: 2.7
7
7
  DisplayCopNames: true
8
8
  Exclude:
9
9
  - bin/**/*
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # The revision history of Mato
2
2
 
3
+ ## v2.4.0 - 2021/08/25
4
+
5
+ https://github.com/bitjourney/mato/compare/v2.3.2...v2.4.0
6
+
7
+ * BREAKING: Drop support for Ruby 2.4, 2.5, and 2.6
8
+ * Bump up minimum dependency of nokogiri to 1.12
9
+
3
10
  ## v2.3.2 - 2021/01/08
4
11
 
5
12
  * Fix error on mention link with Nokogiri v1.11.0+. [#26](https://github.com/bitjourney/mato/pull/26)
data/Gemfile CHANGED
@@ -7,6 +7,7 @@ gemspec
7
7
 
8
8
  gem "sanitize", ">= 3.0"
9
9
 
10
+ gem 'activesupport'
10
11
  gem "bundler", ">= 1.14"
11
12
  gem "m"
12
13
  gem "minitest"
data/README.md CHANGED
@@ -108,7 +108,7 @@ mato.process("Hello!").render_html # "<p>HELLO!</p>\n"
108
108
 
109
109
  ### HTML Filters
110
110
 
111
- An HTML filter is a callable object that takes a ``Nokogiri::HTML::DocumentFragment`
111
+ An HTML filter is a callable object that takes a ``Nokogiri::HTML4::DocumentFragment`
112
112
  and mutate it in the method. The return value is ignored.
113
113
 
114
114
  ```ruby
data/lib/mato/config.rb CHANGED
@@ -42,7 +42,7 @@ module Mato
42
42
  # @return [Class<CommonMarker]
43
43
  attr_accessor :markdown_parser
44
44
 
45
- # @return [Cass<Nokogiri::HTML::DocumentFragment>]
45
+ # @return [Cass<Nokogiri::HTML4::DocumentFragment>]
46
46
  attr_accessor :html_parser
47
47
 
48
48
  # @return [Class<Mato::Document>]
@@ -63,7 +63,7 @@ module Mato
63
63
  @html_filters = []
64
64
 
65
65
  @markdown_parser = CommonMarker
66
- @html_parser = Nokogiri::HTML::DocumentFragment
66
+ @html_parser = Nokogiri::HTML4::DocumentFragment
67
67
 
68
68
  @document_factory = Document
69
69
 
data/lib/mato/document.rb CHANGED
@@ -6,19 +6,19 @@ require_relative './renderers/html_toc_renderer'
6
6
  # Intermediate document class, which instance is *serializable*.
7
7
  module Mato
8
8
  class Document
9
- # @return [Nokogiri::HTML::DocumentFragment]
9
+ # @return [Nokogiri::HTML4::DocumentFragment]
10
10
  attr_reader :fragment
11
11
 
12
12
  def self.empty
13
- new(Nokogiri::HTML.fragment(''))
13
+ new(Nokogiri::HTML4.fragment(''))
14
14
  end
15
15
 
16
- # @param [Nokogiri::HTML::DocumentFragment] fragment
16
+ # @param [Nokogiri::HTML4::DocumentFragment] fragment
17
17
  def initialize(fragment)
18
18
  @fragment = fragment
19
19
  end
20
20
 
21
- # @return [Nokogiri::HTML::DocumentFragment] A copy of fragment that are modified by html_filters
21
+ # @return [Nokogiri::HTML4::DocumentFragment] A copy of fragment that are modified by html_filters
22
22
  def apply_html_filters(*html_filters)
23
23
  new_fragment = fragment.dup
24
24
  html_filters.each do |html_filter|
@@ -58,7 +58,7 @@ module Mato
58
58
  end
59
59
 
60
60
  def marshal_load(data)
61
- initialize(Nokogiri::HTML.fragment(data[:fragment]).freeze)
61
+ initialize(Nokogiri::HTML4.fragment(data[:fragment]).freeze)
62
62
  end
63
63
  end
64
64
  end
@@ -18,7 +18,7 @@ module Mato
18
18
  doc.children.each do |node|
19
19
  next unless STANDALONE_INLINE_ELEMENTS.include?(node.name)
20
20
 
21
- parent = Nokogiri::HTML.fragment('<p/>')
21
+ parent = Nokogiri::HTML4.fragment('<p/>')
22
22
  parent.child.add_child(node.dup)
23
23
  node.replace(parent)
24
24
  end
@@ -22,7 +22,7 @@ module Mato
22
22
  @link_builder = link_builder
23
23
  end
24
24
 
25
- # @param [Nokogiri::HTML::DocumentFragment] doc
25
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
26
26
  def call(doc)
27
27
  candidate_map = {}
28
28
  candidates = []
@@ -12,7 +12,7 @@ module Mato
12
12
  @anchor_icon_element = anchor_icon_element
13
13
  end
14
14
 
15
- # @param [Nokogiri::HTML::DocumentFragment] doc
15
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
16
16
  def call(doc)
17
17
  anchor_builder = AnchorBuilder.new(@anchor_icon_element)
18
18
 
@@ -12,7 +12,7 @@ module Mato
12
12
  @on_rouge_error = on_rouge_error
13
13
  end
14
14
 
15
- # @param [Nokogiri::HTML::DocumentFragment] doc
15
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
16
16
  def call(doc)
17
17
  doc.search("pre").each do |pre|
18
18
  if pre.at('code')
@@ -64,7 +64,7 @@ module Mato
64
64
  lexer = guess_lexer(language, filename, source)
65
65
 
66
66
  begin
67
- document = Nokogiri::HTML.fragment(%{<div class="code-frame"/>})
67
+ document = Nokogiri::HTML4.fragment(%{<div class="code-frame"/>})
68
68
  div = document.at('div')
69
69
  div.add_child(label_fragment(filename || language || lexer.tag)) if filename || !lexer.is_a?(Rouge::Lexers::PlainText)
70
70
  div.add_child(%{<pre class="highlight"><code data-lang="#{lexer.tag}">#{format(lexer, source)}</code></pre>})
@@ -83,7 +83,7 @@ module Mato
83
83
  end
84
84
 
85
85
  def label_fragment(label)
86
- Nokogiri::HTML.fragment(%{<div class="code-label"/>}).tap do |fragment|
86
+ Nokogiri::HTML4.fragment(%{<div class="code-label"/>}).tap do |fragment|
87
87
  fragment.at('div').add_child(Nokogiri::XML::Text.new(label, fragment))
88
88
  end
89
89
  end
@@ -17,7 +17,7 @@ module Mato
17
17
  @convert_empty_task_list = convert_empty_task_list
18
18
  end
19
19
 
20
- # @param [Nokogiri::HTML::DocumentFragment] doc
20
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
21
21
  def call(doc)
22
22
  doc.search("li").each do |li|
23
23
  weave(li)
@@ -72,7 +72,7 @@ module Mato
72
72
  end
73
73
 
74
74
  def build_checkbox_node(checked)
75
- Nokogiri::HTML.fragment('<input type="checkbox"/>').tap do |fragment|
75
+ Nokogiri::HTML4.fragment('<input type="checkbox"/>').tap do |fragment|
76
76
  checkbox = fragment.children.first
77
77
  checkbox["class"] = @checkbox_class
78
78
  checkbox["disabled"] = 'disabled'
@@ -20,7 +20,7 @@ module Mato
20
20
  @builder = builder
21
21
  end
22
22
 
23
- # @param [Nokogiri::HTML::DocumentFragment] doc
23
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
24
24
  def call(doc)
25
25
  doc.xpath('.//text()').each do |text_node|
26
26
  next if has_ancestor?(text_node, 'a', 'code')
@@ -55,7 +55,7 @@ module Mato
55
55
  end
56
56
 
57
57
  # @param [String] html
58
- # @return [Nokogiri::HTML::DocumentFragment]
58
+ # @return [Nokogiri::HTML4::DocumentFragment]
59
59
  def parse_html(html)
60
60
  config.html_parser.parse(html)
61
61
  end
@@ -3,7 +3,7 @@
3
3
  module Mato
4
4
  module Renderers
5
5
  class HtmlRenderer
6
- # @param [Nokogiri::HTML::DocumentFragment] doc
6
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
7
7
  # @return [String]
8
8
  def call(doc)
9
9
  doc.to_html
@@ -9,7 +9,7 @@ module Mato
9
9
  H_SELECTOR = %w(h1 h2 h3 h4 h5 h6).join(',')
10
10
  ANCHOR_SELECTOR = "a.#{AnchorBuilder::CSS_CLASS_NAME}"
11
11
 
12
- # @param [Nokogiri::HTML::DocumentFragment] doc
12
+ # @param [Nokogiri::HTML4::DocumentFragment] doc
13
13
  # @return [String]
14
14
  def call(doc)
15
15
  s = +''
data/lib/mato/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mato
4
- VERSION = "2.3.2"
4
+ VERSION = "2.4.0"
5
5
  end
data/mato.gemspec CHANGED
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.required_ruby_version = ">= 2.4"
28
+ spec.required_ruby_version = ">= 2.7"
29
29
 
30
30
  spec.add_runtime_dependency "commonmarker", ">= 0.18.1"
31
- spec.add_runtime_dependency "nokogiri", ">= 1.6"
31
+ spec.add_runtime_dependency "nokogiri", ">= 1.12"
32
32
  spec.add_runtime_dependency "rouge", ">= 3.0.0"
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mato
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - FUJI Goro
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-08 00:00:00.000000000 Z
11
+ date: 2021-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commonmarker
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '1.12'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '1.12'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rouge
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -98,7 +98,7 @@ metadata:
98
98
  source_code_uri: https://github.com/bitjourney/mato
99
99
  changelog_uri: https://github.com/bitjourney/mato/blob/master/CHANGELOG.md
100
100
  bug_tracker_uri: https://github.com/bitjourney/mato/issues
101
- post_install_message:
101
+ post_install_message:
102
102
  rdoc_options: []
103
103
  require_paths:
104
104
  - lib
@@ -106,15 +106,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: '2.4'
109
+ version: '2.7'
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  requirements:
112
112
  - - ">="
113
113
  - !ruby/object:Gem::Version
114
114
  version: '0'
115
115
  requirements: []
116
- rubygems_version: 3.1.4
117
- signing_key:
116
+ rubygems_version: 3.1.2
117
+ signing_key:
118
118
  specification_version: 4
119
119
  summary: MArkdown TOolkit
120
120
  test_files: []