qiita-markdown 0.37.0 → 0.38.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/qiita/markdown.rb +1 -1
- data/lib/qiita/markdown/filters/syntax_highlight.rb +3 -10
- data/lib/qiita/markdown/version.rb +1 -1
- data/qiita-markdown.gemspec +1 -1
- data/spec/qiita/markdown/processor_spec.rb +20 -20
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0133d912562a9dcb693c507e7ec0caadb6ca0c509da6af2c57773d87a2af745
|
4
|
+
data.tar.gz: 997e0e521830183eccc1f009634352379a7697a8a9e95edb9bae1a9d4f4f7c78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44318b683d2df089695d572a037ec393c495dd23a3d48f82be77287165eff54d3e7d1fb68143f4ad7004eca337df8ed83cfcdd921de6fe7133aaaddeaffe7248
|
7
|
+
data.tar.gz: 883a123e2dad403e8da8d87457be977270ac7dad837e2502d873aa3208e024e2593d784ae0105923658243771d497232e6776a5011a4e354df995447d8fe7c49
|
data/CHANGELOG.md
CHANGED
data/lib/qiita/markdown.rb
CHANGED
@@ -4,6 +4,7 @@ module Qiita
|
|
4
4
|
class SyntaxHighlight < HTML::Pipeline::Filter
|
5
5
|
DEFAULT_LANGUAGE = "text"
|
6
6
|
DEFAULT_TIMEOUT = Float::INFINITY
|
7
|
+
DEFAULT_OPTION = "html_legacy"
|
7
8
|
|
8
9
|
def call
|
9
10
|
elapsed = 0
|
@@ -79,11 +80,11 @@ module Qiita
|
|
79
80
|
end
|
80
81
|
|
81
82
|
def highlight(language)
|
82
|
-
|
83
|
+
Rouge.highlight(code, language, DEFAULT_OPTION)
|
83
84
|
end
|
84
85
|
|
85
86
|
def highlighted_node
|
86
|
-
if specific_language &&
|
87
|
+
if specific_language && Rouge::Lexer.find(specific_language)
|
87
88
|
begin
|
88
89
|
highlight(specific_language).presence or raise
|
89
90
|
rescue
|
@@ -102,14 +103,6 @@ module Qiita
|
|
102
103
|
Nokogiri::HTML.fragment(%Q[<div class="code-frame" data-lang="#{language}"></div>])
|
103
104
|
end
|
104
105
|
|
105
|
-
def pygments_options
|
106
|
-
@pygments_options ||= begin
|
107
|
-
options = { encoding: "utf-8", stripnl: false }
|
108
|
-
options[:startinline] = true if has_inline_php?
|
109
|
-
options
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
106
|
def specific_language
|
114
107
|
@specific_language || @node["lang"]
|
115
108
|
end
|
data/qiita-markdown.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency "github-linguist", "~> 4.0"
|
23
23
|
spec.add_dependency "html-pipeline", "~> 2.0"
|
24
24
|
spec.add_dependency "mem"
|
25
|
-
spec.add_dependency "
|
25
|
+
spec.add_dependency "rouge", "3.26.0"
|
26
26
|
spec.add_dependency "greenmat", "3.5.1.2"
|
27
27
|
spec.add_dependency "sanitize"
|
28
28
|
spec.add_dependency "addressable"
|
@@ -149,8 +149,8 @@ describe Qiita::Markdown::Processor do
|
|
149
149
|
should eq <<-HTML.strip_heredoc
|
150
150
|
<div class="code-frame" data-lang="ruby">
|
151
151
|
<div class="code-lang"><span class="bold">example.rb</span></div>
|
152
|
-
<div class="highlight"><pre><
|
153
|
-
</pre></div>
|
152
|
+
<div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
153
|
+
</code></pre></div>
|
154
154
|
</div>
|
155
155
|
HTML
|
156
156
|
end
|
@@ -169,8 +169,8 @@ describe Qiita::Markdown::Processor do
|
|
169
169
|
should eq <<-HTML.strip_heredoc
|
170
170
|
<div class="code-frame" data-lang="php">
|
171
171
|
<div class="code-lang"><span class="bold">example.php</span></div>
|
172
|
-
<div class="highlight"><pre><
|
173
|
-
</pre></div>
|
172
|
+
<div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
173
|
+
</code></pre></div>
|
174
174
|
</div>
|
175
175
|
HTML
|
176
176
|
end
|
@@ -187,8 +187,8 @@ describe Qiita::Markdown::Processor do
|
|
187
187
|
|
188
188
|
it "returns code-frame and highlighted pre element" do
|
189
189
|
should eq <<-HTML.strip_heredoc
|
190
|
-
<div class="code-frame" data-lang="ruby"><div class="highlight"><pre><
|
191
|
-
</pre></div></div>
|
190
|
+
<div class="code-frame" data-lang="ruby"><div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
191
|
+
</code></pre></div></div>
|
192
192
|
HTML
|
193
193
|
end
|
194
194
|
end
|
@@ -226,10 +226,10 @@ describe Qiita::Markdown::Processor do
|
|
226
226
|
|
227
227
|
it "does not strip the newlines" do
|
228
228
|
should eq <<-HTML.strip_heredoc
|
229
|
-
<div class="code-frame" data-lang="text"><div class="highlight"><pre><
|
229
|
+
<div class="code-frame" data-lang="text"><div class="highlight"><pre class="codehilite"><code>
|
230
230
|
foo
|
231
231
|
|
232
|
-
</pre></div></div>
|
232
|
+
</code></pre></div></div>
|
233
233
|
HTML
|
234
234
|
end
|
235
235
|
end
|
@@ -311,8 +311,8 @@ describe Qiita::Markdown::Processor do
|
|
311
311
|
should include(<<-HTML.strip_heredoc.rstrip)
|
312
312
|
<div class="code-frame" data-lang="ruby">
|
313
313
|
<div class="code-lang"><span class="bold">@alice</span></div>
|
314
|
-
<div class="highlight"><pre><
|
315
|
-
</pre></div>
|
314
|
+
<div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
315
|
+
</code></pre></div>
|
316
316
|
</div>
|
317
317
|
HTML
|
318
318
|
end
|
@@ -659,9 +659,9 @@ describe Qiita::Markdown::Processor do
|
|
659
659
|
|
660
660
|
it "does not replace checkbox" do
|
661
661
|
should eq <<-HTML.strip_heredoc
|
662
|
-
<div class="code-frame" data-lang="text"><div class="highlight"><pre><
|
662
|
+
<div class="code-frame" data-lang="text"><div class="highlight"><pre class="codehilite"><code>- [ ] a
|
663
663
|
- [x] b
|
664
|
-
</pre></div></div>
|
664
|
+
</code></pre></div></div>
|
665
665
|
HTML
|
666
666
|
end
|
667
667
|
end
|
@@ -768,9 +768,9 @@ describe Qiita::Markdown::Processor do
|
|
768
768
|
|
769
769
|
it "generates only code blocks without footnotes" do
|
770
770
|
should eq <<-HTML.strip_heredoc
|
771
|
-
<div class="code-frame" data-lang="text"><div class="highlight"><pre><
|
771
|
+
<div class="code-frame" data-lang="text"><div class="highlight"><pre class="codehilite"><code>[^1]
|
772
772
|
[^1]: test
|
773
|
-
</pre></div></div>
|
773
|
+
</code></pre></div></div>
|
774
774
|
HTML
|
775
775
|
end
|
776
776
|
end
|
@@ -1067,8 +1067,8 @@ describe Qiita::Markdown::Processor do
|
|
1067
1067
|
expect(subject).to eq <<-HTML.strip_heredoc
|
1068
1068
|
<p><details><summary>Folding sample</summary><div>
|
1069
1069
|
|
1070
|
-
<div class="code-frame" data-lang="rb"><div class="highlight"><pre><
|
1071
|
-
</pre></div></div>
|
1070
|
+
<div class="code-frame" data-lang="rb"><div class="highlight"><pre class="codehilite"><code><span class="nb">puts</span> <span class="s2">"Hello, World"</span>
|
1071
|
+
</code></pre></div></div>
|
1072
1072
|
|
1073
1073
|
<p></p>
|
1074
1074
|
</div></details></p>
|
@@ -1124,8 +1124,8 @@ describe Qiita::Markdown::Processor do
|
|
1124
1124
|
should eq <<-HTML.strip_heredoc
|
1125
1125
|
<div class="code-frame" data-lang="js">
|
1126
1126
|
<div class="code-lang"><span class="bold">test<script>alert(1)</script></span></div>
|
1127
|
-
<div class="highlight"><pre><
|
1128
|
-
</pre></div>
|
1127
|
+
<div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
1128
|
+
</code></pre></div>
|
1129
1129
|
</div>
|
1130
1130
|
HTML
|
1131
1131
|
end
|
@@ -1134,8 +1134,8 @@ describe Qiita::Markdown::Processor do
|
|
1134
1134
|
should eq <<-HTML.strip_heredoc
|
1135
1135
|
<div class="code-frame" data-lang="js">
|
1136
1136
|
<div class="code-lang"><span class="bold">test</span></div>
|
1137
|
-
<div class="highlight"><pre><
|
1138
|
-
</pre></div>
|
1137
|
+
<div class="highlight"><pre class="codehilite"><code><span class="mi">1</span>
|
1138
|
+
</code></pre></div>
|
1139
1139
|
</div>
|
1140
1140
|
HTML
|
1141
1141
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qiita-markdown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.38.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryo Nakamura
|
@@ -67,19 +67,19 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rouge
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 3.26.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 3.26.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: greenmat
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|