cloudcannon-jekyll 1.3.1 → 1.4.2

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
2
  SHA256:
3
- metadata.gz: ced0f81dcb95e29ce12684d892c70e0b55cfe2b6f6b0c4558350ff67fab44274
4
- data.tar.gz: fc357e889e99d0f76b64b45da546ec276413c644ca3653bb3a7f246eff01b668
3
+ metadata.gz: db495486f69fc156d24ba59209fb5f1627e6692e500d7175daf0f393634339b4
4
+ data.tar.gz: 3baa3ab9dec30d4d2f834c14b6088780f22365a3bece79cf2a70428a225ed67e
5
5
  SHA512:
6
- metadata.gz: 459133474faa360db525f125120e3b5fe9a94387ce81ed3cea4b1fba714a80c98959a31b34b5f93f28ce1677da7afc3f4bfe7ed59681abd6ba924361af13867c
7
- data.tar.gz: d742c5b8251541ec83383a510a0ab93d3f30d88dea601e2ccbacb2136908c162d5cdf166f23e749106f014eaa47e7eaa52db84f43e82ee48d82c87836a4e2853
6
+ metadata.gz: 5716ed9e99d8e57681880932c10c2f18eb0cfab47b82bb269ba544e67b4819fee5fe4a20deb03371c160d920b38acdd4356afe79ad5fe76b67c89b2059fd4bb4
7
+ data.tar.gz: cb4af8135d9426e12bf16532835ec31c01081f22ba5cfa9fecd80a7e8643136c5c2d0242cd99eb573f7c55079466ae9c032a93a1be32827cc7e6b0802af8f941
@@ -0,0 +1,6 @@
1
+ detectors:
2
+ LongParameterList:
3
+ max_params: 4 # Matches the Rubocop setting
4
+
5
+ exclude_paths:
6
+ - spec
data/HISTORY.md CHANGED
@@ -1,3 +1,25 @@
1
+ # 1.4.2
2
+
3
+ * Added max depth parameter for jsonify filter and increase it for array structures in config output
4
+
5
+ # 1.4.1
6
+
7
+ * Added JSON handling for integers in hash keys
8
+
9
+ # 1.4.0
10
+
11
+ * Fix typo for collections key in older Jekyll versions
12
+ * Change date format to ISO8601
13
+ * Validate against new version of config schema
14
+
15
+ # 1.3.3
16
+
17
+ * Add gem information and time to output config file
18
+
19
+ # 1.3.2
20
+
21
+ * Fix missing in-place compact
22
+
1
23
  # 1.3.1
2
24
 
3
25
  * Fix source being output as full path on disk
@@ -10,9 +10,9 @@ require_relative "cloudcannon-jekyll/version"
10
10
 
11
11
  Liquid::Template.register_filter(CloudCannonJekyll::JsonifyFilter)
12
12
 
13
- # Hooks didn't exist in Jekyll 2 so we monkey patch to get an :after_reset hook
14
13
  if Jekyll::VERSION.start_with? "2"
15
14
  module Jekyll
15
+ # Hooks didn't exist in Jekyll 2 so we monkey patch to get an :after_reset hook
16
16
  class Site
17
17
  alias_method :jekyll_reset, :reset
18
18
 
@@ -1,9 +1,14 @@
1
1
  {
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
+ "cloudcannon": {
4
+ "name": "cloudcannon-jekyll",
5
+ "version": {{ gem_version | cc_jsonify }}
6
+ },
2
7
  {% if config.timezone %}"timezone": {{ config.timezone | cc_jsonify }},{% endif %}
3
8
  "include": {{ config.include | cc_jsonify }},
4
9
  "exclude": {{ config.exclude | cc_jsonify }},
5
10
  {% if config.baseurl %}"base-url": {{ config.baseurl | cc_jsonify }},{% endif %}
6
- {% if config.collections %}"comments": {{ config.collections | cc_jsonify: 'collections' }},{% endif %}
11
+ {% if config.collections %}"collections": {{ config.collections | cc_jsonify: 'collections' }},{% endif %}
7
12
  {% if config._comments %}"comments": {{ config._comments | cc_jsonify }},{% endif %}
8
13
  {% if config._options %}"input-options": {{ config._options | cc_jsonify }},{% endif %}
9
14
  {% if config.defaults %}"defaults": {{ config.defaults | cc_jsonify }},{% endif %}
@@ -24,7 +29,7 @@
24
29
  "includes": {{ config.includes_dir | cc_jsonify }},
25
30
  "layouts": {{ config.layouts_dir | cc_jsonify }}
26
31
  },
27
- {% if config._array_structures %}"array-structures": {{ config._array_structures | cc_jsonify }},{% endif %}
32
+ {% if config._array_structures %}"array-structures": {{ config._array_structures | cc_jsonify: nil, 20 }},{% endif %}
28
33
  {% assign select_data = config | cc_select_data_jsonify %}{% if select_data %}"select-data": {{ select_data }},{% endif %}
29
34
  "source": {{ config.source | replace: pwd, "" | cc_jsonify }}
30
35
  }
@@ -1,9 +1,14 @@
1
1
  {
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
+ "cloudcannon": {
4
+ "name": "cloudcannon-jekyll",
5
+ "version": {{ gem_version | cc_jsonify }}
6
+ },
2
7
  {% if config.timezone %}"timezone": {{ config.timezone | cc_jsonify }},{% endif %}
3
8
  "include": {{ config.include | cc_jsonify }},
4
9
  "exclude": {{ config.exclude | cc_jsonify }},
5
10
  {% if config.baseurl %}"base-url": {{ config.baseurl | cc_jsonify }},{% endif %}
6
- {% if config.collections %}"comments": {{ config.collections | cc_jsonify: 'collections' }},{% endif %}
11
+ {% if config.collections %}"collections": {{ config.collections | cc_jsonify: 'collections' }},{% endif %}
7
12
  {% if config._comments %}"comments": {{ config._comments | cc_jsonify }},{% endif %}
8
13
  {% if config._options %}"input-options": {{ config._options | cc_jsonify }},{% endif %}
9
14
  {% if config.defaults %}"defaults": {{ config.defaults | cc_jsonify }},{% endif %}
@@ -24,7 +29,7 @@
24
29
  "includes": {{ config.includes_dir | cc_jsonify }},
25
30
  "layouts": {{ config.layouts_dir | cc_jsonify }}
26
31
  },
27
- {% if config._array_structures %}"array-structures": {{ config._array_structures | cc_jsonify }},{% endif %}
32
+ {% if config._array_structures %}"array-structures": {{ config._array_structures | cc_jsonify: nil, 20 }},{% endif %}
28
33
  {% assign select_data = config | cc_select_data_jsonify %}{% if select_data %}"select-data": {{ select_data }},{% endif %}
29
34
  "source": {{ config.source | replace: pwd, "" | cc_jsonify }}
30
35
  }
@@ -1,4 +1,9 @@
1
1
  {
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
+ "cloudcannon": {
4
+ "name": "cloudcannon-jekyll",
5
+ "version": {{ gem_version | cc_jsonify }}
6
+ },
2
7
  {% if config.timezone -%}
3
8
  "timezone": {{ config.timezone | cc_jsonify }},
4
9
  {%- endif %}
@@ -43,7 +48,7 @@
43
48
  "layouts": {{ config.layouts_dir | cc_jsonify }}
44
49
  },
45
50
  {% if config._array_structures -%}
46
- "array-structures": {{ config._array_structures | cc_jsonify }},
51
+ "array-structures": {{ config._array_structures | cc_jsonify: nil, 20 }},
47
52
  {%- endif %}
48
53
  {% assign select_data = config | cc_select_data_jsonify -%}
49
54
  {% if select_data -%}
@@ -1,5 +1,5 @@
1
1
  {
2
- "time": {{ site.time | cc_jsonify }},
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
3
  "cloudcannon": {
4
4
  "name": "cloudcannon-jekyll",
5
5
  "version": {{ gem_version | cc_jsonify }}
@@ -1,5 +1,5 @@
1
1
  {
2
- "time": {{ site.time | cc_jsonify }},
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
3
  "cloudcannon": {
4
4
  "name": "cloudcannon-jekyll",
5
5
  "version": {{ gem_version | cc_jsonify }}
@@ -1,5 +1,5 @@
1
1
  {
2
- "time": {{ site.time | cc_jsonify }},
2
+ "time": {{ site.time | date_to_xmlschema | cc_jsonify }},
3
3
  "cloudcannon": {
4
4
  "name": "cloudcannon-jekyll",
5
5
  "version": {{ gem_version | cc_jsonify }}
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudCannonJekyll
4
+ # Processes Jekyll configuration to enable the plugin is run and fix common issues
4
5
  class Configuration
5
6
  def self.processed?(site)
6
7
  site.instance_variable_get(:@_cloudcannon_jekyll_processed) == true
@@ -4,6 +4,7 @@ require "jekyll"
4
4
  require "fileutils"
5
5
 
6
6
  module CloudCannonJekyll
7
+ # Generates JSON files containing build config and build output details
7
8
  class Generator < Jekyll::Generator
8
9
  priority :lowest
9
10
 
@@ -27,7 +28,7 @@ module CloudCannonJekyll
27
28
  def generate_file(filename, data)
28
29
  dest = destination_path(filename)
29
30
  FileUtils.mkdir_p(File.dirname(dest))
30
- File.open(dest, "w") { |f| f.write(file_content(filename, data)) }
31
+ File.open(dest, "w") { |file| file.write(file_content(filename, data)) }
31
32
  end
32
33
 
33
34
  def version_path_suffix
@@ -50,13 +51,13 @@ module CloudCannonJekyll
50
51
  end
51
52
 
52
53
  def file_content(filename, data)
53
- json = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", path(filename))
54
- json.content = File.read(source_path(filename))
55
- json.data["layout"] = nil
56
- json.data["sitemap"] = false
57
- json.data["permalink"] = "/#{path(filename)}"
58
- json.render({}, data)
59
- json.output
54
+ page = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", path(filename))
55
+ page.content = File.read(source_path(filename))
56
+ page.data["layout"] = nil
57
+ page.data["sitemap"] = false
58
+ page.data["permalink"] = "/#{path(filename)}"
59
+ page.render({}, data)
60
+ page.output
60
61
  end
61
62
  end
62
63
  end
@@ -3,7 +3,11 @@
3
3
  require "jekyll"
4
4
 
5
5
  module CloudCannonJekyll
6
+ # Filter for converting Jekyll objects into JSON
6
7
  module JsonifyFilter
8
+ STATIC_EXTENSIONS = [".html", ".htm"].freeze
9
+ STATIC_PATHS = ["/robots.txt", "/sitemap.xml"].freeze
10
+
7
11
  CC_JSONIFY_KEY_SWAPS = {
8
12
  "collections" => {
9
13
  "_sort_key" => "_sort-key",
@@ -13,7 +17,6 @@ module CloudCannonJekyll
13
17
  "_singular_name" => "_singular-name",
14
18
  "_singular_key" => "_singular-key",
15
19
  "_disable_add" => "_disable-add",
16
- "_icon" => "_icon",
17
20
  "_add_options" => "_add-options",
18
21
  },
19
22
  }.freeze
@@ -42,102 +45,113 @@ module CloudCannonJekyll
42
45
  @simple_types.include?(input.class) || [true, false].include?(input)
43
46
  end
44
47
 
45
- def self.static_file_to_json(input, depth)
48
+ def self.static_file_to_json(input, depth, max_depth)
46
49
  out = [
47
- "\"extname\": #{JsonifyFilter.to_json(input.extname, depth + 1)}",
48
- "\"path\": #{JsonifyFilter.to_json(input.relative_path, depth + 1)}",
50
+ "\"extname\": #{JsonifyFilter.to_json(input.extname, depth, max_depth)}",
51
+ "\"path\": #{JsonifyFilter.to_json(input.relative_path, depth, max_depth)}",
49
52
  ]
50
53
 
51
54
  # modified_time isn't defined in Jekyll 2.4.0
52
55
  if input.respond_to? :modified_time
53
- out.push("\"modified_time\": #{JsonifyFilter.to_json(input.modified_time, depth + 1)}")
56
+ file_json = JsonifyFilter.to_json(input.modified_time, depth, max_depth)
57
+ out.push("\"modified_time\": #{file_json}")
54
58
  end
55
59
 
56
60
  "{#{out.join(",")}}"
57
61
  end
58
62
 
59
- def self.document_data_to_json(data, out, prevent, depth)
63
+ def self.document_data_to_a(data, prevent, depth, max_depth)
60
64
  prevent += %w(content output next previous excerpt)
61
65
 
62
- data.each do |key, value|
66
+ out = data.map do |key, value|
63
67
  next if prevent.include? key
64
68
 
65
69
  prevent.push key
66
- out.push("#{key.to_json}: #{JsonifyFilter.to_json(value, depth + 1)}")
70
+ "#{key.to_json}: #{JsonifyFilter.to_json(value, depth, max_depth)}"
67
71
  end
68
72
 
69
- "{#{out.join(",")}}"
73
+ out.compact
70
74
  end
71
75
 
72
- def self.legacy_post_to_json(input, depth)
76
+ def self.legacy_post_to_json(input, depth, max_depth)
73
77
  prevent = %w(dir name path url date id categories tags)
74
78
 
75
79
  out = [
76
- "\"dir\": #{JsonifyFilter.to_json(input.dir, depth + 1)}",
77
- "\"name\": #{JsonifyFilter.to_json(input.name, depth + 1)}",
78
- "\"path\": #{JsonifyFilter.to_json(input.path, depth + 1)}",
79
- "\"url\": #{JsonifyFilter.to_json(input.url, depth + 1)}",
80
- "\"date\": #{JsonifyFilter.to_json(input.date, depth + 1)}",
81
- "\"id\": #{JsonifyFilter.to_json(input.id, depth + 1)}",
82
- "\"categories\": #{JsonifyFilter.to_json(input.categories, depth + 1)}",
83
- "\"tags\": #{JsonifyFilter.to_json(input.tags, depth + 1)}",
80
+ "\"dir\": #{JsonifyFilter.to_json(input.dir, depth, max_depth)}",
81
+ "\"name\": #{JsonifyFilter.to_json(input.name, depth, max_depth)}",
82
+ "\"path\": #{JsonifyFilter.to_json(input.path, depth, max_depth)}",
83
+ "\"url\": #{JsonifyFilter.to_json(input.url, depth, max_depth)}",
84
+ "\"date\": #{JsonifyFilter.to_json(input.date, depth, max_depth)}",
85
+ "\"id\": #{JsonifyFilter.to_json(input.id, depth, max_depth)}",
86
+ "\"categories\": #{JsonifyFilter.to_json(input.categories, depth, max_depth)}",
87
+ "\"tags\": #{JsonifyFilter.to_json(input.tags, depth, max_depth)}",
84
88
  ]
85
89
 
86
- JsonifyFilter.document_data_to_json(input.data, out, prevent, depth)
90
+ out += JsonifyFilter.document_data_to_a(input.data, prevent, depth, max_depth)
91
+ "{#{out.join(",")}}"
87
92
  end
88
93
 
89
- def self.page_to_json(input, depth)
94
+ def self.page_to_json(input, depth, max_depth)
90
95
  prevent = %w(dir name path url)
91
96
 
92
97
  out = [
93
- "\"dir\": #{JsonifyFilter.to_json(input.dir, depth + 1)}",
94
- "\"name\": #{JsonifyFilter.to_json(input.name, depth + 1)}",
95
- "\"path\": #{JsonifyFilter.to_json(input.path, depth + 1)}",
96
- "\"url\": #{JsonifyFilter.to_json(input.url, depth + 1)}",
98
+ "\"dir\": #{JsonifyFilter.to_json(input.dir, depth, max_depth)}",
99
+ "\"name\": #{JsonifyFilter.to_json(input.name, depth, max_depth)}",
100
+ "\"path\": #{JsonifyFilter.to_json(input.path, depth, max_depth)}",
101
+ "\"url\": #{JsonifyFilter.to_json(input.url, depth, max_depth)}",
97
102
  ]
98
103
 
99
104
  # Merge Jekyll Defaults into data for pages (missing at v3.8.5)
100
- defaults = input.site.frontmatter_defaults.all(input.relative_path, :pages).tap do |h|
101
- h.delete("date")
105
+ defaults = input.site.frontmatter_defaults.all(input.relative_path, :pages).tap do |default|
106
+ default.delete("date")
102
107
  end
103
108
 
104
109
  data = Jekyll::Utils.deep_merge_hashes(defaults, input.data)
105
- JsonifyFilter.document_data_to_json(data, out, prevent, depth)
110
+
111
+ out += JsonifyFilter.document_data_to_a(data, prevent, depth, max_depth)
112
+ "{#{out.join(",")}}"
106
113
  end
107
114
 
108
- def self.document_to_json(input, depth)
115
+ def self.document_to_json(input, depth, max_depth)
109
116
  prevent = %w(dir id relative_path url collection)
117
+ path_json = JsonifyFilter.to_json(input.relative_path, depth, max_depth)
110
118
 
111
119
  out = [
112
- "\"path\": #{JsonifyFilter.to_json(input.relative_path, depth + 1)}",
113
- "\"relative_path\": #{JsonifyFilter.to_json(input.relative_path, depth + 1)}",
114
- "\"url\": #{JsonifyFilter.to_json(input.url, depth + 1)}",
120
+ "\"path\": #{path_json}",
121
+ "\"relative_path\": #{path_json}",
122
+ "\"url\": #{JsonifyFilter.to_json(input.url, depth, max_depth)}",
115
123
  ]
116
124
 
117
- unless input.collection.nil?
118
- out.push("\"collection\": #{JsonifyFilter.to_json(input.collection.label, depth + 1)}")
125
+ collection = input.collection
126
+ unless collection.nil?
127
+ collection_json = JsonifyFilter.to_json(collection.label, depth, max_depth)
128
+ out.push("\"collection\": #{collection_json}")
119
129
  end
120
130
 
121
131
  # id isn't defined in Jekyll 2.4.0
122
- out.push("\"id\": #{JsonifyFilter.to_json(input.id, depth + 1)}") if input.respond_to? :id
132
+ if input.respond_to? :id
133
+ out.push("\"id\": #{JsonifyFilter.to_json(input.id, depth, max_depth)}")
134
+ end
123
135
 
124
- JsonifyFilter.document_data_to_json(input.data, out, prevent, depth)
136
+ out += JsonifyFilter.document_data_to_a(input.data, prevent, depth, max_depth)
137
+ "{#{out.join(",")}}"
125
138
  end
126
139
 
127
- def self.array_to_json(input, depth, key_swaps = {})
140
+ def self.array_to_json(input, depth, max_depth, key_swaps = {})
128
141
  array = input.map do |value|
129
- JsonifyFilter.to_json(value, depth + 1, key_swaps)
142
+ JsonifyFilter.to_json(value, depth, max_depth, key_swaps)
130
143
  end
131
144
 
132
145
  "[#{array.join(",")}]"
133
146
  end
134
147
 
135
- def self.hash_to_json(input, depth, key_swaps = {})
136
- hash = input.map do |key, value|
137
- "#{(key_swaps[key] || key).to_json}: #{JsonifyFilter.to_json(value, depth + 1, key_swaps)}"
148
+ def self.hash_to_json(input, depth, max_depth, key_swaps = {})
149
+ out = input.map do |key, value|
150
+ string_key = (key_swaps[key] || key).to_s.to_json
151
+ "#{string_key}: #{JsonifyFilter.to_json(value, depth, max_depth, key_swaps)}"
138
152
  end
139
153
 
140
- "{#{hash.join(",")}}"
154
+ "{#{out.join(",")}}"
141
155
  end
142
156
 
143
157
  def self.config_to_select_data_json(input, depth)
@@ -155,47 +169,47 @@ module CloudCannonJekyll
155
169
  next if prevent.include? key
156
170
 
157
171
  prevent.push key
158
- "#{key.to_json}: #{JsonifyFilter.to_json(value, depth + 1)}"
172
+ "#{key.to_s.to_json}: #{JsonifyFilter.to_json(value, depth)}"
159
173
  end
160
174
 
161
- out.compact
175
+ out.compact!
162
176
 
163
177
  "{#{out.join(",")}}" if out.any?
164
178
  end
165
179
 
166
- def self.to_json(input, depth, key_swaps = {})
167
- if depth > 8 || (depth > 2 && JsonifyFilter.document_type?(input))
180
+ def self.to_json(input, depth, max_depth = 9, key_swaps = {})
181
+ depth += 1
182
+
183
+ if depth > max_depth || (depth > 2 && JsonifyFilter.document_type?(input))
168
184
  '"MAXIMUM_DEPTH"'
169
185
  elsif JsonifyFilter.simple_type?(input)
170
186
  input.to_json
171
187
  elsif input.is_a?(Jekyll::StaticFile)
172
- JsonifyFilter.static_file_to_json(input, depth)
188
+ JsonifyFilter.static_file_to_json(input, depth, max_depth)
173
189
  elsif input.is_a?(Jekyll::Page)
174
- JsonifyFilter.page_to_json(input, depth)
190
+ JsonifyFilter.page_to_json(input, depth, max_depth)
175
191
  elsif Jekyll::VERSION.start_with?("2.") && input.is_a?(Jekyll::Post)
176
- JsonifyFilter.legacy_post_to_json(input, depth)
192
+ JsonifyFilter.legacy_post_to_json(input, depth, max_depth)
177
193
  elsif input.is_a?(Jekyll::Document)
178
- JsonifyFilter.document_to_json(input, depth)
194
+ JsonifyFilter.document_to_json(input, depth, max_depth)
179
195
  elsif input.is_a?(Array)
180
- JsonifyFilter.array_to_json(input, depth, key_swaps)
196
+ JsonifyFilter.array_to_json(input, depth, max_depth, key_swaps)
181
197
  elsif input.is_a?(Hash)
182
- JsonifyFilter.hash_to_json(input, depth, key_swaps)
198
+ JsonifyFilter.hash_to_json(input, depth, max_depth, key_swaps)
183
199
  else
184
200
  input.class.to_s.prepend("UNSUPPORTED:").to_json
185
201
  end
186
202
  end
187
203
 
188
204
  def cc_static_files_jsonify(input)
189
- out = []
190
- input.each do |page|
191
- next if page.extname != ".html" &&
192
- page.extname != ".htm" &&
193
- page.path != "/robots.txt" &&
194
- page.path != "/sitemap.xml"
195
-
196
- out.push(JsonifyFilter.to_json(page, 1))
205
+ out = input.map do |page|
206
+ next unless STATIC_EXTENSIONS.include?(page.extname) || STATIC_PATHS.include?(page.path)
207
+
208
+ JsonifyFilter.to_json(page, 1)
197
209
  end
198
210
 
211
+ out.compact!
212
+
199
213
  "[#{out.join(",")}]"
200
214
  end
201
215
 
@@ -207,11 +221,11 @@ module CloudCannonJekyll
207
221
  end
208
222
  end
209
223
 
210
- def cc_jsonify(input, key_swaps_key = nil)
224
+ def cc_jsonify(input, key_swaps_key = nil, max_depth = 8)
211
225
  if CC_JSONIFY_KEY_SWAPS.key? key_swaps_key
212
- JsonifyFilter.to_json(input, 0, CC_JSONIFY_KEY_SWAPS[key_swaps_key])
226
+ JsonifyFilter.to_json(input, 0, max_depth, CC_JSONIFY_KEY_SWAPS[key_swaps_key])
213
227
  else
214
- JsonifyFilter.to_json(input, 0)
228
+ JsonifyFilter.to_json(input, 0, max_depth)
215
229
  end
216
230
  end
217
231
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudCannonJekyll
4
+ # Utility class to help generate files with no source file
4
5
  class PageWithoutAFile < Jekyll::Page
5
6
  def read_yaml(*)
6
7
  @data ||= {}
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CloudCannonJekyll
4
- VERSION = "1.3.1"
4
+ VERSION = "1.4.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudcannon-jekyll
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - CloudCannon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-09 00:00:00.000000000 Z
11
+ date: 2020-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -108,6 +108,7 @@ extensions: []
108
108
  extra_rdoc_files: []
109
109
  files:
110
110
  - ".gitignore"
111
+ - ".reek.yml"
111
112
  - ".rspec"
112
113
  - ".rubocop.yml"
113
114
  - ".travis.yml"