qiita-markdown 0.37.0 → 0.38.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|