jekyll-html-pipeline 1.1.0 → 1.1.1

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 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!