jekyll-favicon 0.2.5 → 1.0.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -5
  2. data/.devcontainer/Dockerfile +20 -0
  3. data/.devcontainer/devcontainer.json +35 -0
  4. data/.github/ISSUE_TEMPLATE/bug_report.md +10 -13
  5. data/.github/PULL_REQUEST_TEMPLATE.md +11 -9
  6. data/.github/workflows/gem-push.yml +40 -0
  7. data/.github/workflows/test.yml +38 -0
  8. data/.gitignore +5 -0
  9. data/CHANGELOG.md +44 -0
  10. data/Gemfile +2 -0
  11. data/README.md +86 -20
  12. data/Rakefile +9 -7
  13. data/bin/console +1 -0
  14. data/config/jekyll/favicon.yml +115 -0
  15. data/config/jekyll/favicon/static_file.yml +3 -0
  16. data/config/jekyll/favicon/static_file/convertible.yml +42 -0
  17. data/config/jekyll/favicon/static_file/mutable.yml +22 -0
  18. data/config/jekyll/favicon/static_file/referenceable.yml +15 -0
  19. data/config/jekyll/favicon/static_file/sourceable.yml +3 -0
  20. data/config/jekyll/favicon/static_file/taggable.yml +22 -0
  21. data/gemfiles/jekyll36.gemfile +6 -0
  22. data/gemfiles/jekyll37.gemfile +6 -0
  23. data/gemfiles/jekyll38.gemfile +6 -0
  24. data/gemfiles/jekyll39.gemfile +6 -0
  25. data/gemfiles/jekyll40.gemfile +6 -0
  26. data/gemfiles/jekyll41.gemfile +6 -0
  27. data/gemfiles/jekyll42.gemfile +6 -0
  28. data/jekyll-favicon.gemspec +9 -9
  29. data/lib/jekyll-favicon.rb +7 -14
  30. data/lib/jekyll/favicon.rb +19 -13
  31. data/lib/jekyll/favicon/configuration.rb +73 -0
  32. data/lib/jekyll/favicon/configuration/defaults.rb +49 -0
  33. data/lib/jekyll/favicon/generator.rb +11 -74
  34. data/lib/jekyll/favicon/hooks.rb +12 -10
  35. data/lib/jekyll/favicon/static_data_file.rb +17 -0
  36. data/lib/jekyll/favicon/static_file.rb +97 -0
  37. data/lib/jekyll/favicon/static_file/convertible.rb +118 -0
  38. data/lib/jekyll/favicon/static_file/mutable.rb +81 -0
  39. data/lib/jekyll/favicon/static_file/referenceable.rb +22 -0
  40. data/lib/jekyll/favicon/static_file/sourceable.rb +73 -0
  41. data/lib/jekyll/favicon/static_file/taggable.rb +59 -0
  42. data/lib/jekyll/favicon/static_graphic_file.rb +21 -0
  43. data/lib/jekyll/favicon/tag.rb +14 -16
  44. data/lib/jekyll/favicon/utils.rb +24 -0
  45. data/lib/jekyll/favicon/utils/configuration/compact.rb +61 -0
  46. data/lib/jekyll/favicon/utils/configuration/merge.rb +63 -0
  47. data/lib/jekyll/favicon/utils/configuration/patch.rb +48 -0
  48. data/lib/jekyll/favicon/utils/convert.rb +42 -0
  49. data/lib/jekyll/favicon/utils/tag.rb +54 -0
  50. data/lib/jekyll/favicon/version.rb +3 -1
  51. metadata +71 -66
  52. data/.rubocop.yml +0 -5
  53. data/.travis.yml +0 -21
  54. data/Gemfile.lock +0 -97
  55. data/lib/browserconfig.rb +0 -54
  56. data/lib/hash.rb +0 -12
  57. data/lib/image.rb +0 -33
  58. data/lib/jekyll/favicon/config/defaults.yml +0 -54
  59. data/lib/jekyll/favicon/icon.rb +0 -74
  60. data/lib/jekyll/favicon/metadata.rb +0 -12
  61. data/lib/jekyll/favicon/templates/chrome.html.erb +0 -5
  62. data/lib/jekyll/favicon/templates/classic.html.erb +0 -8
  63. data/lib/jekyll/favicon/templates/ie.html.erb +0 -4
  64. data/lib/jekyll/favicon/templates/safari.html.erb +0 -8
  65. data/lib/string.rb +0 -14
  66. data/lib/webmanifest.rb +0 -30
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rexml/document'
4
+
5
+ module Jekyll
6
+ module Favicon
7
+ module Utils
8
+ # Favicon rexml for include
9
+ module Tag
10
+ def self.included(klass)
11
+ klass.extend(ClassMethods)
12
+ end
13
+
14
+ # Favicon rexml utils functions
15
+ module ClassMethods
16
+ # :reek:FeatureEnvy
17
+ def mutate_element(parent, changes = {})
18
+ changes.each_with_object(parent) do |(key, value), memo|
19
+ if key.start_with? '__' then memo.text = value
20
+ elsif key.start_with? '_' then memo.add_attribute key[1..-1], value
21
+ else mutate_element mutate_find_or_create_element(memo, key), value
22
+ end
23
+ end
24
+ end
25
+
26
+ def build_element(name, parent = nil, config = {})
27
+ element = REXML::Element.new name, parent
28
+ return populate_element element, config if config.is_a? Enumerable
29
+
30
+ element.text = config and return element
31
+ end
32
+
33
+ private
34
+
35
+ # :reek:UtilityFunction
36
+ def mutate_find_or_create_element(parent, key)
37
+ parent.get_elements(key).first || parent.add_element(key)
38
+ end
39
+
40
+ # :reek:FeatureEnvy
41
+ def populate_element(element, config)
42
+ config.each_with_object(element) do |(key, value), memo|
43
+ if key.start_with? '__' then memo.text = value
44
+ elsif (child_key = key.match(/^_(.*)$/))
45
+ memo.add_attribute child_key[1], value
46
+ else build_element key, memo, value
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Jekyll
2
4
  module Favicon
3
- VERSION = '0.2.5'.freeze
5
+ VERSION = '1.0.0-1'
4
6
  end
5
7
  end
metadata CHANGED
@@ -1,139 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-favicon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 1.0.0.pre.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alvaro Faundez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-16 00:00:00.000000000 Z
11
+ date: 2021-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.16'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.16'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: minitest
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '5.0'
19
+ version: '5.8'
34
20
  type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '5.0'
26
+ version: '5.8'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: minitest-hooks
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '1.4'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 1.4.2
33
+ version: '1.5'
51
34
  type: :development
52
35
  prerelease: false
53
36
  version_requirements: !ruby/object:Gem::Requirement
54
37
  requirements:
55
38
  - - "~>"
56
39
  - !ruby/object:Gem::Version
57
- version: '1.4'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 1.4.2
40
+ version: '1.5'
61
41
  - !ruby/object:Gem::Dependency
62
- name: nokogiri
42
+ name: minitest-reporters
63
43
  requirement: !ruby/object:Gem::Requirement
64
44
  requirements:
65
45
  - - "~>"
66
46
  - !ruby/object:Gem::Version
67
- version: '1.8'
47
+ version: 1.4.3
68
48
  type: :development
69
49
  prerelease: false
70
50
  version_requirements: !ruby/object:Gem::Requirement
71
51
  requirements:
72
52
  - - "~>"
73
53
  - !ruby/object:Gem::Version
74
- version: '1.8'
54
+ version: 1.4.3
75
55
  - !ruby/object:Gem::Dependency
76
56
  name: rake
77
57
  requirement: !ruby/object:Gem::Requirement
78
58
  requirements:
79
59
  - - "~>"
80
60
  - !ruby/object:Gem::Version
81
- version: '10.0'
61
+ version: '12.3'
82
62
  type: :development
83
63
  prerelease: false
84
64
  version_requirements: !ruby/object:Gem::Requirement
85
65
  requirements:
86
66
  - - "~>"
87
67
  - !ruby/object:Gem::Version
88
- version: '10.0'
68
+ version: '12.3'
89
69
  - !ruby/object:Gem::Dependency
90
- name: rubocop
70
+ name: jekyll
91
71
  requirement: !ruby/object:Gem::Requirement
92
72
  requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 0.54.0
96
73
  - - ">="
97
74
  - !ruby/object:Gem::Version
98
- version: 0.54.0
99
- type: :development
75
+ version: '3.0'
76
+ - - "<"
77
+ - !ruby/object:Gem::Version
78
+ version: '5.0'
79
+ type: :runtime
100
80
  prerelease: false
101
81
  version_requirements: !ruby/object:Gem::Requirement
102
82
  requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: 0.54.0
106
83
  - - ">="
107
84
  - !ruby/object:Gem::Version
108
- version: 0.54.0
85
+ version: '3.0'
86
+ - - "<"
87
+ - !ruby/object:Gem::Version
88
+ version: '5.0'
109
89
  - !ruby/object:Gem::Dependency
110
- name: jekyll
90
+ name: mini_magick
111
91
  requirement: !ruby/object:Gem::Requirement
112
92
  requirements:
113
93
  - - "~>"
114
94
  - !ruby/object:Gem::Version
115
- version: '3.0'
95
+ version: '4.11'
116
96
  type: :runtime
117
97
  prerelease: false
118
98
  version_requirements: !ruby/object:Gem::Requirement
119
99
  requirements:
120
100
  - - "~>"
121
101
  - !ruby/object:Gem::Version
122
- version: '3.0'
102
+ version: '4.11'
123
103
  - !ruby/object:Gem::Dependency
124
- name: mini_magick
104
+ name: rexml
125
105
  requirement: !ruby/object:Gem::Requirement
126
106
  requirements:
127
107
  - - "~>"
128
108
  - !ruby/object:Gem::Version
129
- version: '4.5'
109
+ version: '3.2'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 3.2.5
130
113
  type: :runtime
131
114
  prerelease: false
132
115
  version_requirements: !ruby/object:Gem::Requirement
133
116
  requirements:
134
117
  - - "~>"
135
118
  - !ruby/object:Gem::Version
136
- version: '4.5'
119
+ version: '3.2'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 3.2.5
137
123
  description: Jekyll-favicon is a jekyll plugin that adds the tag favicon, generating
138
124
  html tags for favicon.
139
125
  email:
@@ -142,41 +128,60 @@ executables: []
142
128
  extensions: []
143
129
  extra_rdoc_files: []
144
130
  files:
131
+ - ".devcontainer/Dockerfile"
132
+ - ".devcontainer/devcontainer.json"
145
133
  - ".github/ISSUE_TEMPLATE/bug_report.md"
146
134
  - ".github/ISSUE_TEMPLATE/feature_request.md"
147
135
  - ".github/PULL_REQUEST_TEMPLATE.md"
136
+ - ".github/workflows/gem-push.yml"
137
+ - ".github/workflows/test.yml"
148
138
  - ".gitignore"
149
- - ".rubocop.yml"
150
- - ".travis.yml"
151
139
  - CHANGELOG.md
152
140
  - CODE_OF_CONDUCT.md
153
141
  - CONTRIBUTING.md
154
142
  - Gemfile
155
- - Gemfile.lock
156
143
  - LICENSE.txt
157
144
  - README.md
158
145
  - Rakefile
159
146
  - bin/console
160
147
  - bin/setup
148
+ - config/jekyll/favicon.yml
149
+ - config/jekyll/favicon/static_file.yml
150
+ - config/jekyll/favicon/static_file/convertible.yml
151
+ - config/jekyll/favicon/static_file/mutable.yml
152
+ - config/jekyll/favicon/static_file/referenceable.yml
153
+ - config/jekyll/favicon/static_file/sourceable.yml
154
+ - config/jekyll/favicon/static_file/taggable.yml
155
+ - gemfiles/jekyll36.gemfile
156
+ - gemfiles/jekyll37.gemfile
157
+ - gemfiles/jekyll38.gemfile
158
+ - gemfiles/jekyll39.gemfile
159
+ - gemfiles/jekyll40.gemfile
160
+ - gemfiles/jekyll41.gemfile
161
+ - gemfiles/jekyll42.gemfile
161
162
  - jekyll-favicon.gemspec
162
- - lib/browserconfig.rb
163
- - lib/hash.rb
164
- - lib/image.rb
165
163
  - lib/jekyll-favicon.rb
166
164
  - lib/jekyll/favicon.rb
167
- - lib/jekyll/favicon/config/defaults.yml
165
+ - lib/jekyll/favicon/configuration.rb
166
+ - lib/jekyll/favicon/configuration/defaults.rb
168
167
  - lib/jekyll/favicon/generator.rb
169
168
  - lib/jekyll/favicon/hooks.rb
170
- - lib/jekyll/favicon/icon.rb
171
- - lib/jekyll/favicon/metadata.rb
169
+ - lib/jekyll/favicon/static_data_file.rb
170
+ - lib/jekyll/favicon/static_file.rb
171
+ - lib/jekyll/favicon/static_file/convertible.rb
172
+ - lib/jekyll/favicon/static_file/mutable.rb
173
+ - lib/jekyll/favicon/static_file/referenceable.rb
174
+ - lib/jekyll/favicon/static_file/sourceable.rb
175
+ - lib/jekyll/favicon/static_file/taggable.rb
176
+ - lib/jekyll/favicon/static_graphic_file.rb
172
177
  - lib/jekyll/favicon/tag.rb
173
- - lib/jekyll/favicon/templates/chrome.html.erb
174
- - lib/jekyll/favicon/templates/classic.html.erb
175
- - lib/jekyll/favicon/templates/ie.html.erb
176
- - lib/jekyll/favicon/templates/safari.html.erb
178
+ - lib/jekyll/favicon/utils.rb
179
+ - lib/jekyll/favicon/utils/configuration/compact.rb
180
+ - lib/jekyll/favicon/utils/configuration/merge.rb
181
+ - lib/jekyll/favicon/utils/configuration/patch.rb
182
+ - lib/jekyll/favicon/utils/convert.rb
183
+ - lib/jekyll/favicon/utils/tag.rb
177
184
  - lib/jekyll/favicon/version.rb
178
- - lib/string.rb
179
- - lib/webmanifest.rb
180
185
  homepage: https://github.com/afaundez/jekyll-favicon
181
186
  licenses:
182
187
  - MIT
@@ -189,15 +194,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
194
  requirements:
190
195
  - - ">="
191
196
  - !ruby/object:Gem::Version
192
- version: 2.1.0
197
+ version: 2.5.0
193
198
  required_rubygems_version: !ruby/object:Gem::Requirement
194
199
  requirements:
195
- - - ">="
200
+ - - ">"
196
201
  - !ruby/object:Gem::Version
197
- version: '0'
202
+ version: 1.3.1
198
203
  requirements: []
199
204
  rubyforge_project:
200
- rubygems_version: 2.2.0
205
+ rubygems_version: 2.7.6.3
201
206
  signing_key:
202
207
  specification_version: 4
203
208
  summary: Jekyll plugin for favicon tag generation.
data/.rubocop.yml DELETED
@@ -1,5 +0,0 @@
1
- Metrics/BlockLength:
2
- Exclude:
3
- - Rakefile
4
- - '**/*.rake'
5
- - test/**/*.rb
data/.travis.yml DELETED
@@ -1,21 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.6.0
5
- - 2.5.3
6
- - 2.4.5
7
- - 2.3.8
8
- - 2.2.10
9
- - 2.1.10
10
- - 2.1.0
11
- before_install:
12
- - if ! [[ `ruby -v | cut -d' ' -f2` > "2.3" ]]; then gem install bundler -v '< 2'; fi;
13
- addons:
14
- apt:
15
- config:
16
- retries: true
17
- packages:
18
- - imagemagick
19
- - libmagickcore-dev
20
- - libmagickwand-dev
21
- - graphicsmagick
data/Gemfile.lock DELETED
@@ -1,97 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- jekyll-favicon (0.2.5)
5
- jekyll (~> 3.0)
6
- mini_magick (~> 4.5)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- addressable (2.5.2)
12
- public_suffix (>= 2.0.2, < 4.0)
13
- ast (2.4.0)
14
- colorator (1.1.0)
15
- concurrent-ruby (1.1.4)
16
- em-websocket (0.5.1)
17
- eventmachine (>= 0.12.9)
18
- http_parser.rb (~> 0.6.0)
19
- eventmachine (1.2.7)
20
- ffi (1.10.0)
21
- forwardable-extended (2.6.0)
22
- http_parser.rb (0.6.0)
23
- i18n (0.9.5)
24
- concurrent-ruby (~> 1.0)
25
- jekyll (3.8.5)
26
- addressable (~> 2.4)
27
- colorator (~> 1.0)
28
- em-websocket (~> 0.5)
29
- i18n (~> 0.7)
30
- jekyll-sass-converter (~> 1.0)
31
- jekyll-watch (~> 2.0)
32
- kramdown (~> 1.14)
33
- liquid (~> 4.0)
34
- mercenary (~> 0.3.3)
35
- pathutil (~> 0.9)
36
- rouge (>= 1.7, < 4)
37
- safe_yaml (~> 1.0)
38
- jekyll-sass-converter (1.5.2)
39
- sass (~> 3.4)
40
- jekyll-watch (2.0.0)
41
- listen (~> 3.0)
42
- kramdown (1.17.0)
43
- liquid (4.0.1)
44
- listen (3.0.8)
45
- rb-fsevent (~> 0.9, >= 0.9.4)
46
- rb-inotify (~> 0.9, >= 0.9.7)
47
- mercenary (0.3.6)
48
- mini_magick (4.9.2)
49
- mini_portile2 (2.3.0)
50
- minitest (5.11.3)
51
- minitest-hooks (1.5.0)
52
- minitest (> 5.3)
53
- nokogiri (1.8.5)
54
- mini_portile2 (~> 2.3.0)
55
- parallel (1.12.1)
56
- parser (2.5.1.2)
57
- ast (~> 2.4.0)
58
- pathutil (0.16.2)
59
- forwardable-extended (~> 2.6)
60
- powerpack (0.1.2)
61
- public_suffix (3.0.3)
62
- rainbow (3.0.0)
63
- rake (10.5.0)
64
- rb-fsevent (0.10.3)
65
- rb-inotify (0.9.10)
66
- ffi (>= 0.5.0, < 2)
67
- rouge (3.3.0)
68
- rubocop (0.54.0)
69
- parallel (~> 1.10)
70
- parser (>= 2.5)
71
- powerpack (~> 0.1)
72
- rainbow (>= 2.2.2, < 4.0)
73
- ruby-progressbar (~> 1.7)
74
- unicode-display_width (~> 1.0, >= 1.0.1)
75
- ruby-progressbar (1.10.0)
76
- safe_yaml (1.0.4)
77
- sass (3.7.3)
78
- sass-listen (~> 4.0.0)
79
- sass-listen (4.0.0)
80
- rb-fsevent (~> 0.9, >= 0.9.4)
81
- rb-inotify (~> 0.9, >= 0.9.7)
82
- unicode-display_width (1.4.0)
83
-
84
- PLATFORMS
85
- ruby
86
-
87
- DEPENDENCIES
88
- bundler (~> 1.16)
89
- jekyll-favicon!
90
- minitest (~> 5.0)
91
- minitest-hooks (~> 1.4, >= 1.4.2)
92
- nokogiri (~> 1.8)
93
- rake (~> 10.0)
94
- rubocop (~> 0.54.0, >= 0.54.0)
95
-
96
- BUNDLED WITH
97
- 1.17.3