Upgrade pygments to v1.x (#5937)

Merge pull request 5937
This commit is contained in:
Parker Moore 2017-11-29 03:17:08 -05:00 committed by jekyllbot
parent fce3cbfd81
commit c14b8b5864
4 changed files with 24 additions and 18 deletions

View File

@ -81,7 +81,7 @@ group :jekyll_optional_dependencies do
platform :ruby, :mswin, :mingw, :x64_mingw do
gem "classifier-reborn", "~> 2.1.0"
gem "liquid-c", "~> 3.0"
gem "pygments.rb", "~> 0.6.0"
gem "pygments.rb", "~> 1.0"
gem "rdiscount", "~> 2.0"
gem "redcarpet", "~> 3.2", ">= 3.2.3"
gem "yajl-ruby", "~> 1.2"

View File

@ -86,7 +86,7 @@ MSG
end
def render_pygments(code, is_safe)
Jekyll::External.require_with_graceful_fail("pygments")
Jekyll::External.require_with_graceful_fail("pygments") unless defined?(Pygments)
highlighted_code = Pygments.highlight(
code,
@ -118,7 +118,7 @@ MSG
:gutter_class => "gutter",
:code_class => "code"
)
lexer = Rouge::Lexer.find_fancy(@lang, code) || Rouge::Lexers::PlainText
lexer = ::Rouge::Lexer.find_fancy(@lang, code) || Rouge::Lexers::PlainText
formatter.format(lexer.lex(code))
end

View File

@ -46,16 +46,17 @@ class TestRedcarpet < JekyllUnitTest
end
should "render fenced code blocks with syntax highlighting" do
assert_equal "<div class=\"highlight\"><pre><code class=\"language-ruby\" "\
"data-lang=\"ruby\"><span class=\"nb\">puts</span> <span "\
"class=\"s2\">&quot;Hello world&quot;</span>\n</code></pre></div>",
@markdown.convert(
<<-EOS
assert_equal \
"<div class=\"highlight\"><pre><code class=\"language-ruby\" " \
"data-lang=\"ruby\"><span></span><span class=\"nb\">puts</span> <span " \
"class=\"s2\">&quot;Hello world&quot;</span>\n</code></pre></div>",
@markdown.convert(
<<-EOS
```ruby
puts "Hello world"
```
EOS
).strip
).strip
end
end

View File

@ -185,7 +185,8 @@ CONTENT
should "render markdown with pygments" do
assert_match(
%(<pre><code class="language-text" data-lang="text">test</code></pre>),
%(<pre><code class="language-text" data-lang="text">) +
%(<span></span>test</code></pre>),
@result
)
end
@ -193,7 +194,7 @@ CONTENT
should "render markdown with pygments with line numbers" do
assert_match(
%(<pre><code class="language-text" data-lang="text">) +
%(<span class="lineno">1</span> test</code></pre>),
%(<span></span><span class="lineno">1 </span>test</code></pre>),
@result
)
end
@ -206,7 +207,7 @@ CONTENT
should "not embed the file" do
assert_match(
%(<pre><code class="language-text" data-lang="text">) +
%(<pre><code class="language-text" data-lang="text"><span></span>) +
%(./jekyll.gemspec</code></pre>),
@result
)
@ -220,7 +221,8 @@ CONTENT
should "render markdown with pygments line handling" do
assert_match(
%(<pre><code class="language-text" data-lang="text">Æ</code></pre>),
%(<pre><code class="language-text" data-lang="text">) +
%(<span></span>Æ</code></pre>),
@result
)
end
@ -240,7 +242,8 @@ EOS
should "only strip the preceding newlines" do
assert_match(
%(<pre><code class=\"language-text\" data-lang=\"text\"> [,1] [,2]),
%(<pre><code class=\"language-text\" data-lang=\"text\">) +
%(<span></span> [,1] [,2]),
@result
)
end
@ -265,8 +268,8 @@ EOS
should "only strip the newlines which precede and succeed the entire block" do
assert_match(
"<pre><code class=\"language-text\" data-lang=\"text\">" \
" [,1] [,2]\n\n\n[1,] FALSE TRUE\n[2,] FALSE TRUE</code></pre>",
%(<pre><code class=\"language-text\" data-lang=\"text\"><span></span>) +
%( [,1] [,2]\n\n\n[1,] FALSE TRUE\n[2,] FALSE TRUE</code></pre>),
@result
)
end
@ -280,7 +283,8 @@ EOS
should "only strip the preceding newlines" do
assert_match(
%(<pre><code class="language-text" data-lang="text"> [,1] [,2]),
%(<pre><code class="language-text" data-lang="text"><span></span>) +
%( [,1] [,2]),
@result
)
end
@ -298,7 +302,8 @@ EOS
should "only strip the preceding newlines" do
assert_match(
%(<pre><code class=\"language-text\" data-lang=\"text\"> [,1] [,2]),
%(<pre><code class=\"language-text\" data-lang=\"text\"><span></span>) +
%( [,1] [,2]),
@result
)
end