markdown-highlight-extended-filter 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7dfc3f9e711fe9a402d79542c5d48653ea8fdc66
4
- data.tar.gz: 2939f157d44ef9b3d8f14adf5f67f05c41d778c2
3
+ metadata.gz: 37014d563b618e84739abc540414494a42cc2733
4
+ data.tar.gz: 76593026f18aa8d40546425c37bb958796fc0cc7
5
5
  SHA512:
6
- metadata.gz: 1878404d04e588fe1e8dcf451aa5965cf804d4ee7748dd06e8c207f0501c72c2595ed6c62d06502d723fc4b42ed6820ae2ad17736ad86b257df129618c8c0916
7
- data.tar.gz: 5c40dc8591e79150656c6c9745b72ff03e26521c6d48ada68e79bd44eb332cc3c28ae503f7cdcab8c1506741185c951fc502d3f1c11753f338e34177f4b1ce99
6
+ metadata.gz: b047ee7c8c010edf13b66e276ee9662377635e770599dc6c1e5b484ebf8fb424eb173de3749cdde49c2493d1eb670a65b2f98aadda23cbf98c4eaad1d017d4f6
7
+ data.tar.gz: 9f15397b350afd7cef9c2ab60e167c1cc16d02bc33bb6127fa1f3bfc2dc4f52817b5ac0ad16ee7ef4e0fa16f34677b48ac67ba3f72123034444dcd1aa68ff59c
data/.gitignore CHANGED
@@ -12,3 +12,4 @@
12
12
  *.o
13
13
  *.a
14
14
  mkmf.log
15
+ .DS_Store
@@ -1,6 +1,5 @@
1
1
  require "html/pipeline"
2
- require "pygments.rb"
3
- require "linguist"
2
+ require "rouge"
4
3
 
5
4
  # Stolen from https://github.com/imathis/octopress/blob/master/plugins/backtick_code_block.rb
6
5
  # (MIT License)
@@ -45,15 +44,18 @@ class MarkdownHighlightExtendedFilter < HTML::Pipeline::TextFilter
45
44
  end
46
45
 
47
46
  def highlight_code(code, lang)
48
- if lexer = lexer_for(lang)
49
- lexer.highlight(code, :options => { :cssclass => "highlight highlight-#{lang}" })
47
+ if lexer = lexer_for(lang, code)
48
+ # XXX: Rouge wrapper `<pre css_class><code>` is different from
49
+ # what pygments generates `<div css_class><pre>`.
50
+ # To keep compatibility, we don't use Rouge's warp, and wrap it manually.
51
+ html = Rouge::Formatters::HTML.format(lexer.lex(code), :wrap => false)
52
+ %Q{<div class="highlight highlight-#{lexer.tag}"><pre>#{html}\n</pre></div>}
50
53
  else
51
54
  "<pre>#{code}</pre>"
52
55
  end
53
56
  end
54
57
 
55
- # https://github.com/jch/html-pipeline/blob/master/lib/html/pipeline/syntax_highlight_filter.rb#L38
56
- def lexer_for(lang)
57
- (Linguist::Language[lang] && Linguist::Language[lang].lexer) || Pygments::Lexer[lang]
58
+ def lexer_for(lang, code)
59
+ Rouge::Lexer.find(lang)
58
60
  end
59
61
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "markdown-highlight-extended-filter"
7
- spec.version = "1.0.0"
7
+ spec.version = "1.1.0"
8
8
  spec.authors = ["Yu-Cheng Chuang"]
9
9
  spec.email = ["ducksteven@gmail.com"]
10
10
  spec.summary = %q{HTML::Pipeline filter for Octopress-flavored syntax highlighting}
@@ -18,8 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_dependency "html-pipeline"
21
- spec.add_dependency "pygments.rb"
22
- spec.add_dependency "github-linguist"
21
+ spec.add_dependency "rouge"
23
22
 
24
23
  spec.add_development_dependency "bundler", "~> 1.7"
25
24
  spec.add_development_dependency "rake", "~> 10.0"
@@ -119,7 +119,7 @@ TEXT
119
119
 
120
120
  it "renders correctly" do
121
121
  expect(rendered).to eq <<-HTML
122
- <figure class='code'><figcaption><span></span></figcaption><div class="highlight highlight-html"><pre><span class="nt">&lt;input</span> <span class="na">name=</span><span class="s">&quot;test&quot;</span> <span class="na">value=</span><span class="s">&quot;hello&quot;</span> <span class="nt">/&gt;</span>
122
+ <figure class='code'><figcaption><span></span></figcaption><div class="highlight highlight-html"><pre><span class="nt">&lt;input</span> <span class="na">name=</span><span class="s">"test"</span> <span class="na">value=</span><span class="s">"hello"</span> <span class="nt">/&gt;</span>
123
123
  </pre></div></figure>
124
124
  HTML
125
125
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markdown-highlight-extended-filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yu-Cheng Chuang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-14 00:00:00.000000000 Z
11
+ date: 2015-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: html-pipeline
@@ -25,21 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: pygments.rb
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: github-linguist
28
+ name: rouge
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="