cloudcannon-jekyll 1.0.1 → 1.2.3
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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/HISTORY.md +32 -0
- data/cloudcannon-jekyll.gemspec +3 -2
- data/lib/cloudcannon-jekyll.rb +5 -7
- data/lib/cloudcannon-jekyll/_cloudcannon/config-2.x.json +43 -0
- data/lib/cloudcannon-jekyll/_cloudcannon/config-3.0-4.x.json +43 -0
- data/lib/cloudcannon-jekyll/_cloudcannon/config.json +61 -0
- data/lib/cloudcannon-jekyll/_cloudcannon/details-2.x.json +5 -3
- data/lib/cloudcannon-jekyll/_cloudcannon/{details-3.0.x.json → details-3.0-4.x.json} +4 -2
- data/lib/cloudcannon-jekyll/_cloudcannon/details.json +16 -4
- data/lib/cloudcannon-jekyll/generator.rb +32 -16
- data/lib/cloudcannon-jekyll/safe-jsonify-filter.rb +54 -8
- data/lib/cloudcannon-jekyll/version.rb +1 -1
- metadata +28 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61354938ea8f9342c8ce20f8e376dbf441fd97008ade2794eab7b3f1b8754c61
|
4
|
+
data.tar.gz: ebd474b9bcb955654a4b62b7e2be99cb42f4de6cb42bb6d1a5828808ec1885ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b94f1c5e89f86faea90781700330f8845b140947af56f29aba021514959aef744f4d0213b904c7c9a3c5e84c9415f6d17a97ebe8bdf1259202370ce62203532
|
7
|
+
data.tar.gz: bbb6c0ba8ec08c3f0e10877aea8e647246cb7660feb0a31968d108160b7be66802c1e23c5465df594766006bb942b47b47fc85709f5b1a12c1b739eca767a8ee
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/HISTORY.md
CHANGED
@@ -1,3 +1,35 @@
|
|
1
|
+
# 1.2.3
|
2
|
+
|
3
|
+
* Add more ignore keys for legacy select data filter
|
4
|
+
|
5
|
+
# 1.2.2
|
6
|
+
|
7
|
+
* Reduce methods added from other plugins clashing
|
8
|
+
|
9
|
+
# 1.2.1
|
10
|
+
|
11
|
+
* Fix invalid output when unsupported class found
|
12
|
+
|
13
|
+
# 1.2.0
|
14
|
+
|
15
|
+
* Add output config file
|
16
|
+
|
17
|
+
# 1.1.0
|
18
|
+
|
19
|
+
* Add support for including only specified `data` keys
|
20
|
+
|
21
|
+
# 1.0.3
|
22
|
+
|
23
|
+
* Fix invalid JSON issue for sites built with Jekyll 2 and no collections
|
24
|
+
|
25
|
+
# 1.0.2
|
26
|
+
|
27
|
+
* Change module load style for easier dropping into _plugins
|
28
|
+
|
29
|
+
# 1.0.1
|
30
|
+
|
31
|
+
* Set required Ruby version
|
32
|
+
|
1
33
|
# 1.0.0
|
2
34
|
|
3
35
|
* Initial release
|
data/cloudcannon-jekyll.gemspec
CHANGED
@@ -25,6 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
spec.add_development_dependency "rake", "~> 13.0"
|
27
27
|
spec.add_development_dependency "rspec", "~> 3.9"
|
28
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
29
|
-
spec.add_development_dependency "rubocop-jekyll", "~> 0.
|
28
|
+
spec.add_development_dependency "rubocop", "~> 0.80"
|
29
|
+
spec.add_development_dependency "rubocop-jekyll", "~> 0.11"
|
30
|
+
spec.add_development_dependency "json_schemer", "~> 0.2.13"
|
30
31
|
end
|
data/lib/cloudcannon-jekyll.rb
CHANGED
@@ -2,13 +2,11 @@
|
|
2
2
|
|
3
3
|
require "jekyll"
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
autoload :VERSION, "cloudcannon-jekyll/version"
|
11
|
-
end
|
5
|
+
require_relative "cloudcannon-jekyll/page-without-a-file"
|
6
|
+
require_relative "cloudcannon-jekyll/generator"
|
7
|
+
require_relative "cloudcannon-jekyll/configuration"
|
8
|
+
require_relative "cloudcannon-jekyll/safe-jsonify-filter"
|
9
|
+
require_relative "cloudcannon-jekyll/version"
|
12
10
|
|
13
11
|
Liquid::Template.register_filter(CloudCannonJekyll::SafeJsonifyFilter)
|
14
12
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
{% if site.timezone %}"timezone": {{ site.timezone | jsonify }},{% endif %}
|
3
|
+
"include": {{ site.include | jsonify }},
|
4
|
+
"exclude": {{ site.exclude | jsonify }},
|
5
|
+
{% if site.baseurl %}"base-url": {{ site.baseurl | jsonify }},{% endif %}
|
6
|
+
"collections": {
|
7
|
+
{% for collection in site.collections %}
|
8
|
+
"{{ collection[0] | xml_escape }}": {
|
9
|
+
"output": {{ collection[1].output | jsonify }},
|
10
|
+
"_sort-key": {{ collection[1]._sort_key | jsonify }},
|
11
|
+
"_subtext-key": {{ collection[1]._subtext_key | jsonify }},
|
12
|
+
"_image-key": {{ collection[1]._image_key | jsonify }},
|
13
|
+
"_image-size": {{ collection[1]._image_size | jsonify }},
|
14
|
+
"_singular-name": {{ collection[1]._singular_name | jsonify }},
|
15
|
+
"_singular-key": {{ collection[1]._singular_key | jsonify }},
|
16
|
+
"_disable-add": {{ collection[1]._disable_add | jsonify }},
|
17
|
+
"_icon": {{ collection[1]._icon | jsonify }},
|
18
|
+
"_add-options": {{ collection[1]._add_options | cc_safe_jsonify }}
|
19
|
+
}{% unless forloop.last %},{% endunless %}
|
20
|
+
{% endfor %}
|
21
|
+
},
|
22
|
+
{% if site._comments %}"comments": {{ site._comments | cc_safe_jsonify }},{% endif %}
|
23
|
+
{% if site._editor %}"editor": {
|
24
|
+
"default-path": {{ site._editor.default_path | jsonify }}
|
25
|
+
},{% endif %}
|
26
|
+
{% if site._source_editor %}"source-editor": {
|
27
|
+
"tab-size": {{ site._source_editor.tab_size | jsonify }},
|
28
|
+
"show-gutter": {{ site._source_editor.show_gutter | jsonify }},
|
29
|
+
"theme": {{ site._source_editor.theme | jsonify }}
|
30
|
+
},{% endif %}
|
31
|
+
{% if site._explore %}"explore": {{ site._explore | cc_safe_jsonify }},{% endif %}
|
32
|
+
"paths": {
|
33
|
+
"uploads": {{ site.uploads_dir | jsonify }},
|
34
|
+
"plugins": {{ site.plugins_dir | jsonify }},
|
35
|
+
"data": {{ site.data_dir | jsonify }},
|
36
|
+
"collections": {{ site.collections_dir | jsonify }},
|
37
|
+
"includes": {{ site.includes_dir | jsonify }},
|
38
|
+
"layouts": {{ site.layouts_dir | jsonify }}
|
39
|
+
},
|
40
|
+
{% if site._array_structures %}"array-structures": {{ site._array_structures | cc_safe_jsonify }},{% endif %}
|
41
|
+
{% assign select_data = site | cc_site_select_data_jsonify %}{% if select_data %}"select-data": {{ select_data }},{% endif %}
|
42
|
+
"source": {{ site.source | jsonify }}
|
43
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
{% if site.timezone %}"timezone": {{ site.timezone | jsonify }},{% endif %}
|
3
|
+
"include": {{ site.include | jsonify }},
|
4
|
+
"exclude": {{ site.exclude | jsonify }},
|
5
|
+
{% if site.baseurl %}"base-url": {{ site.baseurl | jsonify }},{% endif %}
|
6
|
+
"collections": {
|
7
|
+
{% for collection in site.collections %}
|
8
|
+
"{{ collection.label | xml_escape }}": {
|
9
|
+
"output": {{ collection.output | jsonify }},
|
10
|
+
"_sort-key": {{ collection._sort_key | jsonify }},
|
11
|
+
"_subtext-key": {{ collection._subtext_key | jsonify }},
|
12
|
+
"_image-key": {{ collection._image_key | jsonify }},
|
13
|
+
"_image-size": {{ collection._image_size | jsonify }},
|
14
|
+
"_singular-name": {{ collection._singular_name | jsonify }},
|
15
|
+
"_singular-key": {{ collection._singular_key | jsonify }},
|
16
|
+
"_disable-add": {{ collection._disable_add | jsonify }},
|
17
|
+
"_icon": {{ collection._icon | jsonify }},
|
18
|
+
"_add-options": {{ collection._add_options | cc_safe_jsonify }}
|
19
|
+
}{% unless forloop.last %},{% endunless %}
|
20
|
+
{% endfor %}
|
21
|
+
},
|
22
|
+
{% if site._comments %}"comments": {{ site._comments | cc_safe_jsonify }},{% endif %}
|
23
|
+
{% if site._editor %}"editor": {
|
24
|
+
"default-path": {{ site._editor.default_path | jsonify }}
|
25
|
+
},{% endif %}
|
26
|
+
{% if site._source_editor %}"source-editor": {
|
27
|
+
"tab-size": {{ site._source_editor.tab_size | jsonify }},
|
28
|
+
"show-gutter": {{ site._source_editor.show_gutter | jsonify }},
|
29
|
+
"theme": {{ site._source_editor.theme | jsonify }}
|
30
|
+
},{% endif %}
|
31
|
+
{% if site._explore %}"explore": {{ site._explore | cc_safe_jsonify }},{% endif %}
|
32
|
+
"paths": {
|
33
|
+
"uploads": {{ site.uploads_dir | jsonify }},
|
34
|
+
"plugins": {{ site.plugins_dir | jsonify }},
|
35
|
+
"data": {{ site.data_dir | jsonify }},
|
36
|
+
"collections": {{ site.collections_dir | jsonify }},
|
37
|
+
"includes": {{ site.includes_dir | jsonify }},
|
38
|
+
"layouts": {{ site.layouts_dir | jsonify }}
|
39
|
+
},
|
40
|
+
{% if site._array_structures %}"array-structures": {{ site._array_structures | cc_safe_jsonify }},{% endif %}
|
41
|
+
{% assign select_data = site | cc_site_select_data_jsonify %}{% if select_data %}"select-data": {{ select_data }},{% endif %}
|
42
|
+
"source": {{ site.source | jsonify }}
|
43
|
+
}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
{
|
2
|
+
{% if site.timezone -%}
|
3
|
+
"timezone": {{ site.timezone | jsonify }},
|
4
|
+
{%- endif %}
|
5
|
+
"include": {{ site.include | jsonify }},
|
6
|
+
"exclude": {{ site.exclude | jsonify }},
|
7
|
+
{% if site.baseurl -%}
|
8
|
+
"base-url": {{ site.baseurl | jsonify }},
|
9
|
+
{%- endif %}
|
10
|
+
"collections": {
|
11
|
+
{%- for collection in site.collections -%}
|
12
|
+
"{{ collection.label | xml_escape }}": {
|
13
|
+
"output": {{ collection.output | jsonify }},
|
14
|
+
"_sort-key": {{ collection._sort_key | jsonify }},
|
15
|
+
"_subtext-key": {{ collection._subtext_key | jsonify }},
|
16
|
+
"_image-key": {{ collection._image_key | jsonify }},
|
17
|
+
"_image-size": {{ collection._image_size | jsonify }},
|
18
|
+
"_singular-name": {{ collection._singular_name | jsonify }},
|
19
|
+
"_singular-key": {{ collection._singular_key | jsonify }},
|
20
|
+
"_disable-add": {{ collection._disable_add | jsonify }},
|
21
|
+
"_icon": {{ collection._icon | jsonify }},
|
22
|
+
"_add-options": {{ collection._add_options | cc_safe_jsonify }}
|
23
|
+
}
|
24
|
+
{%- unless forloop.last %},{% endunless %}
|
25
|
+
{%- endfor -%}
|
26
|
+
},
|
27
|
+
{% if site._comments -%}
|
28
|
+
"comments": {{ site._comments | cc_safe_jsonify }},
|
29
|
+
{%- endif %}
|
30
|
+
{% if site._editor -%}
|
31
|
+
"editor": {
|
32
|
+
"default-path": {{ site._editor.default_path | jsonify }}
|
33
|
+
},
|
34
|
+
{%- endif %}
|
35
|
+
{% if site._source_editor -%}
|
36
|
+
"source-editor": {
|
37
|
+
"tab-size": {{ site._source_editor.tab_size | jsonify }},
|
38
|
+
"show-gutter": {{ site._source_editor.show_gutter | jsonify }},
|
39
|
+
"theme": {{ site._source_editor.theme | jsonify }}
|
40
|
+
},
|
41
|
+
{%- endif %}
|
42
|
+
{% if site._explore -%}
|
43
|
+
"explore": {{ site._explore | cc_safe_jsonify }},
|
44
|
+
{%- endif %}
|
45
|
+
"paths": {
|
46
|
+
"uploads": {{ site.uploads_dir | jsonify }},
|
47
|
+
"plugins": {{ site.plugins_dir | jsonify }},
|
48
|
+
"data": {{ site.data_dir | jsonify }},
|
49
|
+
"collections": {{ site.collections_dir | jsonify }},
|
50
|
+
"includes": {{ site.includes_dir | jsonify }},
|
51
|
+
"layouts": {{ site.layouts_dir | jsonify }}
|
52
|
+
},
|
53
|
+
{% if site._array_structures -%}
|
54
|
+
"array-structures": {{ site._array_structures | cc_safe_jsonify }},
|
55
|
+
{%- endif %}
|
56
|
+
{% assign select_data = site | cc_site_select_data_jsonify -%}
|
57
|
+
{% if select_data -%}
|
58
|
+
"select-data": {{ select_data }},
|
59
|
+
{%- endif %}
|
60
|
+
"source": {{ site.source | jsonify }}
|
61
|
+
}
|
@@ -13,10 +13,12 @@
|
|
13
13
|
"kramdown": {{ site.kramdown | cc_safe_jsonify }},
|
14
14
|
"commonmark": {{ site.commonmark | cc_safe_jsonify }}
|
15
15
|
}
|
16
|
-
},{% if site.cloudcannon.data %}
|
17
|
-
"data": {
|
16
|
+
},{% if site.cloudcannon.data.first %}{% assign data_seen = false %}
|
17
|
+
"data": {
|
18
|
+
{% for data in site.data %}{% assign key = data[0] %}{% if site.cloudcannon.data[key] %}{% if data_seen %},{% endif %}{{ data[0] | cc_safe_jsonify }}: {{ data[1] | cc_safe_jsonify }}{% assign data_seen = true %}{% endif %}{% endfor %}},
|
19
|
+
{% elsif site.cloudcannon.data %}"data": {{ site.data | cc_safe_jsonify }},{% endif %}
|
18
20
|
"collections": {
|
19
|
-
"posts": {{ site.posts | reverse | cc_safe_jsonify }},
|
21
|
+
"posts": {{ site.posts | reverse | cc_safe_jsonify }}{% if site.collections.size > 0 %},{% endif %}
|
20
22
|
{% for collection in site.collections %}"{{ collection[0] | xml_escape }}": {{ collection[1].docs | cc_safe_jsonify }}{% unless forloop.last %},{% endunless %}
|
21
23
|
{% endfor %}
|
22
24
|
},
|
@@ -13,8 +13,10 @@
|
|
13
13
|
"kramdown": {{ site.kramdown | cc_safe_jsonify }},
|
14
14
|
"commonmark": {{ site.commonmark | cc_safe_jsonify }}
|
15
15
|
}
|
16
|
-
},{% if site.cloudcannon.data %}
|
17
|
-
"data": {
|
16
|
+
},{% if site.cloudcannon.data.first %}{% assign data_seen = false %}
|
17
|
+
"data": {
|
18
|
+
{% for data in site.data %}{% assign key = data[0] %}{% if site.cloudcannon.data[key] %}{% if data_seen %},{% endif %}{{ data[0] | cc_safe_jsonify }}: {{ data[1] | cc_safe_jsonify }}{% assign data_seen = true %}{% endif %}{% endfor %}},
|
19
|
+
{% elsif site.cloudcannon.data %}"data": {{ site.data | cc_safe_jsonify }},{% endif %}
|
18
20
|
"collections": {
|
19
21
|
{% for collection in site.collections %}"{{ collection.label | xml_escape }}": {{ collection.docs | cc_safe_jsonify }}{% unless forloop.last %},{% endunless %}
|
20
22
|
{% endfor %}
|
@@ -14,14 +14,26 @@
|
|
14
14
|
"commonmark": {{ site.commonmark | cc_safe_jsonify }}
|
15
15
|
}
|
16
16
|
},
|
17
|
-
{
|
17
|
+
{% if site.cloudcannon.data.first -%}
|
18
|
+
"data": {
|
19
|
+
{%- assign data_seen = false %}
|
20
|
+
{%- for data in site.data %}
|
21
|
+
{%- assign key = data[0] %}
|
22
|
+
{%- if site.cloudcannon.data[key] %}
|
23
|
+
{%- if data_seen %},{% endif -%}
|
24
|
+
{{ data[0] | cc_safe_jsonify }}: {{ data[1] | cc_safe_jsonify }}
|
25
|
+
{%- assign data_seen = true %}
|
26
|
+
{%- endif %}
|
27
|
+
{%- endfor -%}
|
28
|
+
},
|
29
|
+
{% elsif site.cloudcannon.data -%}
|
18
30
|
"data": {{ site.data | cc_safe_jsonify }},
|
19
|
-
{
|
31
|
+
{%- endif %}
|
20
32
|
"collections": {
|
21
|
-
{
|
33
|
+
{%- for collection in site.collections -%}
|
22
34
|
"{{ collection.label | xml_escape }}": {{ collection.docs | cc_safe_jsonify }}
|
23
35
|
{%- unless forloop.last %},{% endunless %}
|
24
|
-
{%- endfor
|
36
|
+
{%- endfor -%}
|
25
37
|
},
|
26
38
|
"pages": {{ site.pages | cc_safe_jsonify }},
|
27
39
|
"static": {{ site.static_files | cc_static_files_jsonify }}
|
@@ -9,33 +9,49 @@ module CloudCannonJekyll
|
|
9
9
|
|
10
10
|
def generate(site)
|
11
11
|
@site = site
|
12
|
-
|
13
|
-
|
12
|
+
|
13
|
+
details_data = { "gem_version" => CloudCannonJekyll::VERSION }
|
14
|
+
|
15
|
+
generate_file("details", @site.site_payload.merge(details_data))
|
16
|
+
generate_file("config", @site.site_payload)
|
17
|
+
|
14
18
|
@site.keep_files ||= []
|
15
|
-
@site.keep_files << "
|
19
|
+
@site.keep_files << path("details")
|
20
|
+
@site.keep_files << path("config")
|
21
|
+
end
|
22
|
+
|
23
|
+
def generate_file(filename, data)
|
24
|
+
dest = destination_path(filename)
|
25
|
+
FileUtils.mkdir_p(File.dirname(dest))
|
26
|
+
File.open(dest, "w") { |f| f.write(file_content(filename, data)) }
|
16
27
|
end
|
17
28
|
|
18
|
-
def
|
19
|
-
|
20
|
-
|
21
|
-
path = "_cloudcannon/details-3.0.x.json" if Jekyll::VERSION.match? %r!3\.[0-4]\.!
|
29
|
+
def version_path_suffix
|
30
|
+
return "-2.x" if Jekyll::VERSION.start_with? "2."
|
31
|
+
return "-3.0-4.x" if Jekyll::VERSION.match? %r!3\.[0-4]\.!
|
22
32
|
|
23
|
-
|
33
|
+
""
|
24
34
|
end
|
25
35
|
|
26
|
-
def
|
27
|
-
|
36
|
+
def path(filename, suffix = "")
|
37
|
+
"_cloudcannon/#{filename}#{suffix}.json"
|
28
38
|
end
|
29
39
|
|
30
|
-
def
|
31
|
-
|
32
|
-
|
40
|
+
def source_path(filename)
|
41
|
+
File.expand_path(path(filename, version_path_suffix), File.dirname(__FILE__))
|
42
|
+
end
|
43
|
+
|
44
|
+
def destination_path(filename)
|
45
|
+
Jekyll.sanitized_path(@site.dest, path(filename))
|
46
|
+
end
|
33
47
|
|
48
|
+
def file_content(filename, data)
|
49
|
+
json = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", path(filename))
|
50
|
+
json.content = File.read(source_path(filename))
|
34
51
|
json.data["layout"] = nil
|
35
52
|
json.data["sitemap"] = false
|
36
|
-
json.data["permalink"] = "
|
37
|
-
|
38
|
-
json.render({}, @site.site_payload.merge("gem_version" => CloudCannonJekyll::VERSION))
|
53
|
+
json.data["permalink"] = "/#{path(filename)}"
|
54
|
+
json.render({}, data)
|
39
55
|
json.output
|
40
56
|
end
|
41
57
|
end
|
@@ -45,12 +45,11 @@ module CloudCannonJekyll
|
|
45
45
|
def self.document_data_to_json(data, out, prevent, depth)
|
46
46
|
prevent += %w(content output next previous excerpt)
|
47
47
|
|
48
|
-
data.
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
end
|
48
|
+
data.each { |key, value|
|
49
|
+
next if prevent.include? key
|
50
|
+
prevent.push key
|
51
|
+
out.push("#{key.to_json}: #{SafeJsonifyFilter.to_json(value, depth + 1)}")
|
52
|
+
}
|
54
53
|
|
55
54
|
"{#{out.join(",")}}"
|
56
55
|
end
|
@@ -120,12 +119,51 @@ module CloudCannonJekyll
|
|
120
119
|
|
121
120
|
def self.hash_to_json(input, depth)
|
122
121
|
hash = input.map do |key, value|
|
123
|
-
"
|
122
|
+
"#{key.to_json}: #{SafeJsonifyFilter.to_json(value, depth + 1)}"
|
124
123
|
end
|
125
124
|
|
126
125
|
"{#{hash.join(",")}}"
|
127
126
|
end
|
128
127
|
|
128
|
+
def self.site_drop_legacy_select_data_to_json(input, depth)
|
129
|
+
prevent = %w(config time related_posts destination cache_dir safe
|
130
|
+
keep_files encoding markdown_ext strict_front_matter show_drafts
|
131
|
+
limit_posts future unpublished whitelist maruku markdown highlighter
|
132
|
+
lsi excerpt_separator incremental detach port host show_dir_listing
|
133
|
+
permalink paginate_path quiet verbose defaults liquid kramdown title
|
134
|
+
url description categories data tags static_files html_pages pages
|
135
|
+
documents posts related_posts time source timezone include exclude
|
136
|
+
baseurl collections _comments _editor _source_editor _explore
|
137
|
+
uploads_dir plugins_dir data_dir collections_dir includes_dir
|
138
|
+
layouts_dir _array_structures _options cloudcannon rdiscount redcarpet
|
139
|
+
redcloth jekyll-archives archives)
|
140
|
+
|
141
|
+
if Jekyll::VERSION.start_with?("2.")
|
142
|
+
prevent.push "gems"
|
143
|
+
prevent = prevent.concat input["collections"].keys
|
144
|
+
elsif Jekyll::VERSION.match?(%r!3\.[0-4]\.!)
|
145
|
+
prevent.push "gems"
|
146
|
+
prevent.push "plugins"
|
147
|
+
prevent = prevent.concat(input["collections"].map { |c| c["label"] })
|
148
|
+
else
|
149
|
+
prevent.push "plugins"
|
150
|
+
prevent = prevent.concat(input.content_methods).uniq
|
151
|
+
end
|
152
|
+
|
153
|
+
out = []
|
154
|
+
|
155
|
+
input.each_key { |key|
|
156
|
+
next if prevent.include? key
|
157
|
+
prevent.push key
|
158
|
+
|
159
|
+
next unless input[key].is_a?(Array) || input[key].is_a?(Hash)
|
160
|
+
|
161
|
+
out << "#{key.to_json}: #{SafeJsonifyFilter.to_json(input[key], depth + 1)}"
|
162
|
+
}
|
163
|
+
|
164
|
+
"{#{out.join(",")}}" if out.any?
|
165
|
+
end
|
166
|
+
|
129
167
|
def self.to_json(input, depth)
|
130
168
|
if depth > 8 || (depth > 2 && SafeJsonifyFilter.document_type?(input))
|
131
169
|
'"MAXIMUM_DEPTH"'
|
@@ -144,7 +182,7 @@ module CloudCannonJekyll
|
|
144
182
|
elsif input.is_a?(Hash)
|
145
183
|
SafeJsonifyFilter.hash_to_json(input, depth)
|
146
184
|
else
|
147
|
-
|
185
|
+
input.class.to_s.prepend("UNSUPPORTED:").to_json
|
148
186
|
end
|
149
187
|
end
|
150
188
|
|
@@ -162,6 +200,14 @@ module CloudCannonJekyll
|
|
162
200
|
"[#{out.join(",")}]"
|
163
201
|
end
|
164
202
|
|
203
|
+
def cc_site_select_data_jsonify(input)
|
204
|
+
if input.key? "_select_data"
|
205
|
+
SafeJsonifyFilter.to_json(input["_select_data"], 0)
|
206
|
+
else
|
207
|
+
SafeJsonifyFilter.site_drop_legacy_select_data_to_json(input, 0)
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
165
211
|
def cc_safe_jsonify(input)
|
166
212
|
SafeJsonifyFilter.to_json(input, 0)
|
167
213
|
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.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CloudCannon
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -64,28 +64,42 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0.
|
67
|
+
version: '0.80'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0.
|
74
|
+
version: '0.80'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rubocop-jekyll
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '0.
|
81
|
+
version: '0.11'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: '0.
|
88
|
+
version: '0.11'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: json_schemer
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.2.13
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 0.2.13
|
89
103
|
description: Creates CloudCannon editor details for Jekyll
|
90
104
|
email:
|
91
105
|
- support@cloudcannon.com
|
@@ -104,8 +118,11 @@ files:
|
|
104
118
|
- Rakefile
|
105
119
|
- cloudcannon-jekyll.gemspec
|
106
120
|
- lib/cloudcannon-jekyll.rb
|
121
|
+
- lib/cloudcannon-jekyll/_cloudcannon/config-2.x.json
|
122
|
+
- lib/cloudcannon-jekyll/_cloudcannon/config-3.0-4.x.json
|
123
|
+
- lib/cloudcannon-jekyll/_cloudcannon/config.json
|
107
124
|
- lib/cloudcannon-jekyll/_cloudcannon/details-2.x.json
|
108
|
-
- lib/cloudcannon-jekyll/_cloudcannon/details-3.0.x.json
|
125
|
+
- lib/cloudcannon-jekyll/_cloudcannon/details-3.0-4.x.json
|
109
126
|
- lib/cloudcannon-jekyll/_cloudcannon/details.json
|
110
127
|
- lib/cloudcannon-jekyll/configuration.rb
|
111
128
|
- lib/cloudcannon-jekyll/generator.rb
|
@@ -119,7 +136,7 @@ homepage: https://github.com/cloudcannon/cloudcannon-jekyll
|
|
119
136
|
licenses:
|
120
137
|
- MIT
|
121
138
|
metadata: {}
|
122
|
-
post_install_message:
|
139
|
+
post_install_message:
|
123
140
|
rdoc_options: []
|
124
141
|
require_paths:
|
125
142
|
- lib
|
@@ -134,9 +151,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
151
|
- !ruby/object:Gem::Version
|
135
152
|
version: '0'
|
136
153
|
requirements: []
|
137
|
-
rubyforge_project:
|
154
|
+
rubyforge_project:
|
138
155
|
rubygems_version: 2.7.6.2
|
139
|
-
signing_key:
|
156
|
+
signing_key:
|
140
157
|
specification_version: 4
|
141
158
|
summary: CloudCannon Jekyll integration
|
142
159
|
test_files: []
|