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 +4 -4
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/lib/mato/config.rb +2 -2
- data/lib/mato/document.rb +5 -5
- data/lib/mato/html_filters/bare_inline_element.rb +1 -1
- data/lib/mato/html_filters/mention_link.rb +1 -1
- data/lib/mato/html_filters/section_anchor.rb +1 -1
- data/lib/mato/html_filters/syntax_highlight.rb +3 -3
- data/lib/mato/html_filters/task_list.rb +2 -2
- data/lib/mato/html_filters/token_link.rb +1 -1
- data/lib/mato/processor.rb +1 -1
- data/lib/mato/renderers/html_renderer.rb +1 -1
- data/lib/mato/renderers/html_toc_renderer.rb +1 -1
- data/lib/mato/version.rb +1 -1
- data/mato.gemspec +2 -2
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0009a682500eef0ba90fc7166044321a21e0dc8cde9e290938466d81e5d93a9
|
4
|
+
data.tar.gz: 44dfea37fc148c34c423d91d496316618f24d911dbc340ebba691cd17632a980
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 703fb8e5f8132eb78887d30d8245c0738ff8b5e14e4662bef1e6f572571429465472b18fe853e3ac58ee1d15f87ef32460f6f2bc716db44e568ffdccd8bd02c1
|
7
|
+
data.tar.gz: 265481153e3404d01049e6f79550573839024095597168180c6310a8bbc8d9b2ed491dad9723fee3a4d57ca38888b64341c173054c8418ae1eb04497cfc9802a
|
data/.rubocop.yml
CHANGED
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
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::
|
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::
|
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::
|
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::
|
9
|
+
# @return [Nokogiri::HTML4::DocumentFragment]
|
10
10
|
attr_reader :fragment
|
11
11
|
|
12
12
|
def self.empty
|
13
|
-
new(Nokogiri::
|
13
|
+
new(Nokogiri::HTML4.fragment(''))
|
14
14
|
end
|
15
15
|
|
16
|
-
# @param [Nokogiri::
|
16
|
+
# @param [Nokogiri::HTML4::DocumentFragment] fragment
|
17
17
|
def initialize(fragment)
|
18
18
|
@fragment = fragment
|
19
19
|
end
|
20
20
|
|
21
|
-
# @return [Nokogiri::
|
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::
|
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::
|
21
|
+
parent = Nokogiri::HTML4.fragment('<p/>')
|
22
22
|
parent.child.add_child(node.dup)
|
23
23
|
node.replace(parent)
|
24
24
|
end
|
@@ -12,7 +12,7 @@ module Mato
|
|
12
12
|
@on_rouge_error = on_rouge_error
|
13
13
|
end
|
14
14
|
|
15
|
-
# @param [Nokogiri::
|
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::
|
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::
|
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::
|
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::
|
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'
|
data/lib/mato/processor.rb
CHANGED
@@ -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::
|
12
|
+
# @param [Nokogiri::HTML4::DocumentFragment] doc
|
13
13
|
# @return [String]
|
14
14
|
def call(doc)
|
15
15
|
s = +''
|
data/lib/mato/version.rb
CHANGED
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.
|
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.
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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: []
|