mato 2.3.2 → 2.4.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: 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: []