jekyll-html-pipeline 1.1.0 → 1.1.1

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
- SHA1:
3
- metadata.gz: dd60066499eb2eb794386fcd98dc12891fde58e2
4
- data.tar.gz: 0d66e93e15aa7b66f4b03bf40ed28323e7327f1e
2
+ SHA256:
3
+ metadata.gz: 2b68c087d6c971116151b9cc080cd3601f2e70717927013111bd749a534b6b9e
4
+ data.tar.gz: 65358ecaa2a0405aec653b30ed1cb926571608a3a3b1dedcc1db1adc354bbbdc
5
5
  SHA512:
6
- metadata.gz: '084ab5d83418fc86aa21a0f17e4b31201bcfa1ad98b87f2de7e109746f3e38e24896dfd7bae1eee01ed09c1a52bb7edd8c2e8c4914ae036418aed5ba29238393'
7
- data.tar.gz: 0147bf36dd77bb53a4ecc0458d33a095f815211a04b8518ad21a86b5cbd1aa11bd426b4d364c7a92067eb3f0adda9f2a1ac33f227d8c605c4ae167bdcdf57432
6
+ metadata.gz: 49deee485bdd1655b9b65c15ee923232b110b65526c4f47295a726b40a01d098ab286c302f1546785de24490323516485ab520d2289b3b96b1ccf03920e79dfe
7
+ data.tar.gz: 29850947f93e911a98b974c89f31d312343937d967d004de6b3889683f1c61acbe1abba761bb4d1ff2128fae5defd2dac4cdb2a65ae6eea611d8979b1d6abe09
@@ -1,5 +1,5 @@
1
1
  inherit_gem:
2
- rubocop-github:
2
+ rubocop-standard:
3
3
  - config/default.yml
4
4
 
5
5
  Style/StringLiterals:
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in jekyll-html-pipeline.gemspec
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
 
3
5
  task default: [:test]
@@ -1,14 +1,16 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Gem::Specification.new do |spec|
2
4
  spec.name = 'jekyll-html-pipeline'
3
- spec.version = '1.1.0'
5
+ spec.version = '1.1.1'
4
6
  spec.authors = ['Garen Torikian']
5
7
  spec.email = ['gjtorikian@gmail.com']
6
- spec.summary = %q{Use GitHub's HTML::Pipeline, in Jekyll!}
7
- spec.description = %q{This is a custom Markdown processor for Jekyll 2.0 and above. It allows you to use GitHub's HTML::Pipeline in your Jekyll projects. }
8
+ spec.summary = "Use GitHub's HTML::Pipeline, in Jekyll!"
9
+ spec.description = "This is a custom Markdown processor for Jekyll 2.0 and above. It allows you to use GitHub's HTML::Pipeline in your Jekyll projects. "
8
10
  spec.homepage = 'https://github.com/gjtorikian/jekyll-html-pipeline'
9
11
  spec.license = 'MIT'
10
12
 
11
- spec.files = `git ls-files`.split($/)
13
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
12
14
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
13
15
  spec.test_files = spec.files.grep(%r{^(test)/})
14
16
  spec.require_paths = ['lib']
@@ -16,12 +18,11 @@ Gem::Specification.new do |spec|
16
18
  spec.add_runtime_dependency 'jekyll', '~> 3.0'
17
19
  spec.add_dependency 'html-pipeline', '~> 2.8'
18
20
 
19
- spec.add_development_dependency 'bundler', '~> 1.4'
20
- spec.add_development_dependency 'rake'
21
- spec.add_development_dependency 'minitest', '~> 5.0'
22
21
  spec.add_development_dependency 'commonmarker', '~> 0.17'
23
- spec.add_development_dependency 'sanitize', '~> 2.0.6'
24
- spec.add_development_dependency 'rubocop'
25
- spec.add_development_dependency 'rubocop-github'
26
22
  spec.add_development_dependency 'gemoji', '~> 2.0'
23
+ spec.add_development_dependency 'minitest', '~> 5.0'
24
+ spec.add_development_dependency 'rake'
25
+ spec.add_development_dependency 'rubocop'
26
+ spec.add_development_dependency 'rubocop-standard'
27
+ spec.add_development_dependency 'sanitize', '~> 2.0.6'
27
28
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Converters
3
5
  class Markdown::HTMLPipeline
@@ -5,66 +7,67 @@ module Jekyll
5
7
  require 'html/pipeline'
6
8
  @config = config
7
9
  @errors = []
10
+ @setup = false
8
11
  end
9
12
 
10
- def filter_key(s)
11
- s.to_s.downcase.to_sym
13
+ def filter_key(key)
14
+ key.to_s.downcase.to_sym
12
15
  end
13
16
 
14
- def is_filter?(f)
15
- f < HTML::Pipeline::Filter
17
+ def filter?(filter)
18
+ filter < HTML::Pipeline::Filter
16
19
  rescue LoadError, ArgumentError
17
20
  false
18
21
  end
19
22
 
20
23
  def symbolize_keys(hash)
21
- hash.inject({}) { |result, (key, value)|
24
+ hash.each_with_object({}) do |(key, value), result|
22
25
  new_key = case key
23
26
  when String then key.to_sym
24
27
  else key
25
28
  end
26
29
  new_value = case value
27
30
  when Hash then symbolize_keys(value)
31
+ when Array then value.map(&:to_sym)
28
32
  else value
29
33
  end
30
34
  result[new_key] = new_value
31
- result
32
- }
35
+ end
33
36
  end
34
37
 
35
38
  def ensure_default_opts
36
39
  @config['html_pipeline']['filters'] ||= ['markdownfilter']
37
- @config['html_pipeline']['context'] ||= {'gfm' => true}
40
+ @config['html_pipeline']['context'] ||= { 'gfm' => true }
38
41
  # symbolize strings as keys, which is what HTML::Pipeline wants
39
42
  @config['html_pipeline']['context'] = symbolize_keys(@config['html_pipeline']['context'])
40
43
  end
41
44
 
42
45
  def setup
43
- unless @setup
44
- ensure_default_opts
46
+ return if @setup
47
+
48
+ ensure_default_opts
45
49
 
46
- filters = @config['html_pipeline']['filters'].map do |f|
47
- if is_filter?(f)
48
- f
49
- else
50
- key = filter_key(f)
51
- begin
52
- filter = HTML::Pipeline.constants.find { |c| c.downcase == key }
53
- # probably a custom filter
54
- if filter.nil?
55
- Jekyll::Converters.const_get(f)
56
- else
57
- HTML::Pipeline.const_get(filter)
58
- end
59
- rescue StandardError => e
60
- raise LoadError.new(e)
50
+ filters = @config['html_pipeline']['filters'].map do |filter|
51
+ if filter?(filter)
52
+ filter
53
+ else
54
+ key = filter_key(filter)
55
+ begin
56
+ const_filter = HTML::Pipeline.constants.find { |c| c.downcase == key }
57
+ # probably a custom filter
58
+ if const_filter.nil?
59
+ Jekyll::Converters.const_get(filter)
60
+ else
61
+ HTML::Pipeline.const_get(const_filter)
61
62
  end
63
+ rescue StandardError => e
64
+ raise LoadError, e
62
65
  end
63
66
  end
64
-
65
- @parser = HTML::Pipeline.new(filters, @config['html_pipeline']['context'])
66
- @setup = true
67
67
  end
68
+
69
+ @parser = HTML::Pipeline.new(filters, @config['html_pipeline']['context'])
70
+ @setup = true
68
71
  end
69
72
 
70
73
  def convert(content)
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'html/pipeline'
2
4
 
3
5
  class HelpMarkdownFilter < HTML::Pipeline::MarkdownFilter
4
-
5
6
  def call
6
7
  html = super
7
8
 
@@ -9,7 +10,7 @@ class HelpMarkdownFilter < HTML::Pipeline::MarkdownFilter
9
10
  end
10
11
 
11
12
  def format_callout!(html)
12
- html.gsub!(/(?:<p>)?{{#(tip|warning|error)}}(?:<\/p>)?/, '<div class="alert \1">')
13
- html.gsub!(/(?:<p>)?{{\/(tip|warning|error)}}(?:<\/p>)?/, '</div>')
13
+ html.gsub!(%r{(?:<p>)?{{#(tip|warning|error)}}(?:</p>)?}, '<div class="alert \1">')
14
+ html.gsub!(%r{(?:<p>)?{{/(tip|warning|error)}}(?:</p>)?}, '</div>')
14
15
  end
15
16
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubygems'
2
4
 
3
5
  require 'jekyll'
@@ -1,11 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'test_helper'
2
4
 
3
5
  class HTMLPipelineTest < Converter::HTMLPipelineTestCase
4
6
  def setup
5
7
  @config = {
6
8
  'html_pipeline' => {
7
- 'filters' => ['markdownfilter', 'sanitizationfilter', 'emojifilter', 'mentionfilter'],
8
- 'context' => { 'asset_root' => 'http://foo.com/icons', 'base_url' => 'https://github.com/'}},
9
+ 'filters' => %w[markdownfilter sanitizationfilter emojifilter mentionfilter],
10
+ 'context' => {
11
+ 'asset_root' => 'http://foo.com/icons',
12
+ 'base_url' => 'https://github.com/',
13
+ 'commonmarker_extensions' => %w[table strikethrough tagfilter autolink]
14
+ }
15
+ },
9
16
  'markdown' => 'HTMLPipeline'
10
17
  }
11
18
  @markdown = Jekyll::Converters::Markdown.new @config
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-html-pipeline
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen Torikian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-27 00:00:00.000000000 Z
11
+ date: 2020-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -39,33 +39,33 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.8'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: commonmarker
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.4'
47
+ version: '0.17'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.4'
54
+ version: '0.17'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: gemoji
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '2.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,33 +81,19 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '5.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: commonmarker
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.17'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.17'
97
- - !ruby/object:Gem::Dependency
98
- name: sanitize
84
+ name: rake
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - "~>"
87
+ - - ">="
102
88
  - !ruby/object:Gem::Version
103
- version: 2.0.6
89
+ version: '0'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - "~>"
94
+ - - ">="
109
95
  - !ruby/object:Gem::Version
110
- version: 2.0.6
96
+ version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
98
  name: rubocop
113
99
  requirement: !ruby/object:Gem::Requirement
@@ -123,7 +109,7 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: rubocop-github
112
+ name: rubocop-standard
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -137,19 +123,19 @@ dependencies:
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
- name: gemoji
126
+ name: sanitize
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '2.0'
131
+ version: 2.0.6
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '2.0'
138
+ version: 2.0.6
153
139
  description: 'This is a custom Markdown processor for Jekyll 2.0 and above. It allows
154
140
  you to use GitHub''s HTML::Pipeline in your Jekyll projects. '
155
141
  email:
@@ -189,8 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
189
175
  - !ruby/object:Gem::Version
190
176
  version: '0'
191
177
  requirements: []
192
- rubyforge_project:
193
- rubygems_version: 2.6.12
178
+ rubygems_version: 3.1.2
194
179
  signing_key:
195
180
  specification_version: 4
196
181
  summary: Use GitHub's HTML::Pipeline, in Jekyll!