cloudcannon-jekyll 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fc56e2c9a19c550a9cf86841c0ee2109ca0ed639f8237f31e11645c7de711939
4
+ data.tar.gz: 78b5b96a3f011eb43f7883ad58d42bf67879f4eb959feaf1f154af7a83499cb9
5
+ SHA512:
6
+ metadata.gz: 25a982a20616ee1f35ba0ddc10f4e3f9f48f28eebdd2ec2c8fd1742aeb8d7c2478dc20e3fed73b71146cf8fddde5fc81d097abbc0ce4d5a867107f2b1f5dbc1e
7
+ data.tar.gz: d0da726380464b23395d55401e058bff1e27c33b6fb137aa196a0044063a428879ac6adf3b67dfaf4097059f116262ed64b12d0ec14331b986077b3ed252350c
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ spec/dest/
data/.rubocop.yml ADDED
@@ -0,0 +1,25 @@
1
+ require: rubocop-jekyll
2
+
3
+ inherit_gem:
4
+ rubocop-jekyll: .rubocop.yml
5
+
6
+ AllCops:
7
+ TargetRubyVersion: 2.5
8
+ Include:
9
+ - lib/**/*.rb
10
+
11
+ Exclude:
12
+ - .gitignore
13
+ - .rspec
14
+ - .rubocop.yml
15
+ - .travis.yml
16
+ - Gemfile.lock
17
+ - HISTORY.md
18
+ - LICENSE.txt
19
+ - README.md
20
+ - script/**/*
21
+ - vendor/**/*
22
+
23
+ Naming/MemoizedInstanceVariableName:
24
+ Exclude:
25
+ - lib/cloudcannon-jekyll/page-without-a-file.rb
data/Appraisals ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ appraise "jekyll-2" do
4
+ gem "jekyll", "2.4.0"
5
+ end
6
+
7
+ appraise "jekyll-3-0-0" do
8
+ gem "jekyll", "3.0.0"
9
+ end
10
+
11
+ appraise "jekyll-3-8-5" do
12
+ gem "jekyll", "3.8.5"
13
+ end
14
+
15
+ appraise "jekyll-4" do
16
+ gem "jekyll", "4.0.0"
17
+ end
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,115 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cloudcannon-jekyll (0.0.1)
5
+ jekyll (>= 2.4.0, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ appraisal (2.2.0)
13
+ bundler
14
+ rake
15
+ thor (>= 0.14.0)
16
+ ast (2.4.0)
17
+ colorator (1.1.0)
18
+ concurrent-ruby (1.1.5)
19
+ diff-lcs (1.3)
20
+ em-websocket (0.5.1)
21
+ eventmachine (>= 0.12.9)
22
+ http_parser.rb (~> 0.6.0)
23
+ eventmachine (1.2.7)
24
+ ffi (1.11.1)
25
+ forwardable-extended (2.6.0)
26
+ http_parser.rb (0.6.0)
27
+ i18n (1.7.0)
28
+ concurrent-ruby (~> 1.0)
29
+ jaro_winkler (1.5.4)
30
+ jekyll (4.0.0)
31
+ addressable (~> 2.4)
32
+ colorator (~> 1.0)
33
+ em-websocket (~> 0.5)
34
+ i18n (>= 0.9.5, < 2)
35
+ jekyll-sass-converter (~> 2.0)
36
+ jekyll-watch (~> 2.0)
37
+ kramdown (~> 2.1)
38
+ kramdown-parser-gfm (~> 1.0)
39
+ liquid (~> 4.0)
40
+ mercenary (~> 0.3.3)
41
+ pathutil (~> 0.9)
42
+ rouge (~> 3.0)
43
+ safe_yaml (~> 1.0)
44
+ terminal-table (~> 1.8)
45
+ jekyll-sass-converter (2.0.1)
46
+ sassc (> 2.0.1, < 3.0)
47
+ jekyll-watch (2.2.1)
48
+ listen (~> 3.0)
49
+ kramdown (2.1.0)
50
+ kramdown-parser-gfm (1.1.0)
51
+ kramdown (~> 2.0)
52
+ liquid (4.0.3)
53
+ listen (3.2.0)
54
+ rb-fsevent (~> 0.10, >= 0.10.3)
55
+ rb-inotify (~> 0.9, >= 0.9.10)
56
+ mercenary (0.3.6)
57
+ parallel (1.18.0)
58
+ parser (2.6.5.0)
59
+ ast (~> 2.4.0)
60
+ pathutil (0.16.2)
61
+ forwardable-extended (~> 2.6)
62
+ public_suffix (4.0.1)
63
+ rainbow (3.0.0)
64
+ rake (13.0.0)
65
+ rb-fsevent (0.10.3)
66
+ rb-inotify (0.10.0)
67
+ ffi (~> 1.0)
68
+ rouge (3.12.0)
69
+ rspec (3.9.0)
70
+ rspec-core (~> 3.9.0)
71
+ rspec-expectations (~> 3.9.0)
72
+ rspec-mocks (~> 3.9.0)
73
+ rspec-core (3.9.0)
74
+ rspec-support (~> 3.9.0)
75
+ rspec-expectations (3.9.0)
76
+ diff-lcs (>= 1.2.0, < 2.0)
77
+ rspec-support (~> 3.9.0)
78
+ rspec-mocks (3.9.0)
79
+ diff-lcs (>= 1.2.0, < 2.0)
80
+ rspec-support (~> 3.9.0)
81
+ rspec-support (3.9.0)
82
+ rubocop (0.71.0)
83
+ jaro_winkler (~> 1.5.1)
84
+ parallel (~> 1.10)
85
+ parser (>= 2.6)
86
+ rainbow (>= 2.2.2, < 4.0)
87
+ ruby-progressbar (~> 1.7)
88
+ unicode-display_width (>= 1.4.0, < 1.7)
89
+ rubocop-jekyll (0.10.0)
90
+ rubocop (>= 0.68.0, < 0.72.0)
91
+ rubocop-performance (~> 1.2)
92
+ rubocop-performance (1.5.0)
93
+ rubocop (>= 0.71.0)
94
+ ruby-progressbar (1.10.1)
95
+ safe_yaml (1.0.5)
96
+ sassc (2.2.1)
97
+ ffi (~> 1.9)
98
+ terminal-table (1.8.0)
99
+ unicode-display_width (~> 1.1, >= 1.1.1)
100
+ thor (0.20.3)
101
+ unicode-display_width (1.6.0)
102
+
103
+ PLATFORMS
104
+ ruby
105
+
106
+ DEPENDENCIES
107
+ appraisal (~> 2.2)
108
+ cloudcannon-jekyll!
109
+ rake (~> 13.0)
110
+ rspec (~> 3.9)
111
+ rubocop (~> 0.71)
112
+ rubocop-jekyll (~> 0.10)
113
+
114
+ BUNDLED WITH
115
+ 2.0.2
data/HISTORY.md ADDED
@@ -0,0 +1,3 @@
1
+ # 0.0.1
2
+
3
+ * Initial version
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 CloudCannon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,42 @@
1
+ # CloudCannon Jekyll plugin
2
+
3
+ A Jekyll plugin to create CloudCannon editor details.
4
+
5
+
6
+ ## Usage
7
+
8
+ 1. Add `gem 'cloudcannon-jekyll'` to your site's `Gemfile`
9
+ 2. Run `bundle install`
10
+ 3. Add the following to your site's `_config.yml`:
11
+
12
+ ```yaml
13
+ plugins:
14
+ - cloudcannon-jekyll
15
+ ```
16
+
17
+ 💡 If you are using a Jekyll version less than 3.5.0, use the gems key instead of plugins.
18
+
19
+
20
+ ## Releasing new version
21
+
22
+ 1. Increase version in lib/cloudcannon-jekyll/version.rb
23
+ 2. Update HISTORY.md
24
+ 3. Create a release and tag in GitHub
25
+ 4. Build new gem with `gem build cloudcannon-jekyll.gemspec`
26
+ 5. Push new version to rubygems.org with `gem push cloudcannon-jekyll-{{ VERSION HERE }}.gem`
27
+
28
+
29
+ ## Testing
30
+
31
+ ```
32
+ bundle exec rake test
33
+ ```
34
+
35
+ Test multiple Jekyll versions with Appraisal:
36
+
37
+ ```
38
+ bundle exec appraisal install
39
+ bundle exec appraisal rake test
40
+ bundle exec appraisal jekyll-2 rake test
41
+ bundle exec appraisal jekyll-4 rake test
42
+ ```
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :test => :spec
7
+ task :default => :spec
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require "cloudcannon-jekyll/version"
7
+
8
+ Gem::Specification.new do |spec|
9
+ spec.name = "cloudcannon-jekyll"
10
+ spec.summary = "CloudCannon Jekyll integration"
11
+ spec.description = "Creates CloudCannon editor details for Jekyll"
12
+ spec.version = CloudCannonJekyll::VERSION
13
+ spec.authors = ["CloudCannon"]
14
+ spec.email = ["support@cloudcannon.com"]
15
+ spec.homepage = "https://github.com/cloudcannon/cloudcannon-jekyll"
16
+ spec.licenses = ["MIT"]
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r!^(test|spec|features)/!) }
18
+ spec.require_paths = ["lib"]
19
+ spec.add_dependency "jekyll", ">= 2.4.0", "< 5"
20
+ spec.add_development_dependency "appraisal", "~> 2.2"
21
+ spec.add_development_dependency "rake", "~> 13.0"
22
+ spec.add_development_dependency "rspec", "~> 3.9"
23
+ spec.add_development_dependency "rubocop", "~> 0.71"
24
+ spec.add_development_dependency "rubocop-jekyll", "~> 0.10"
25
+ end
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_RETRY: "1"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "jekyll", "2.4.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,136 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudcannon-jekyll (0.0.1)
5
+ jekyll (>= 2.4.0, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ appraisal (2.2.0)
13
+ bundler
14
+ rake
15
+ thor (>= 0.14.0)
16
+ ast (2.4.0)
17
+ blankslate (2.1.2.4)
18
+ classifier-reborn (2.2.0)
19
+ fast-stemmer (~> 1.0)
20
+ coffee-script (2.4.1)
21
+ coffee-script-source
22
+ execjs
23
+ coffee-script-source (1.12.2)
24
+ colorator (0.1)
25
+ diff-lcs (1.3)
26
+ execjs (2.7.0)
27
+ faraday (0.17.0)
28
+ multipart-post (>= 1.2, < 3)
29
+ fast-stemmer (1.0.2)
30
+ ffi (1.11.1)
31
+ jaro_winkler (1.5.4)
32
+ jekyll (2.4.0)
33
+ classifier-reborn (~> 2.0)
34
+ colorator (~> 0.1)
35
+ jekyll-coffeescript (~> 1.0)
36
+ jekyll-gist (~> 1.0)
37
+ jekyll-paginate (~> 1.0)
38
+ jekyll-sass-converter (~> 1.0)
39
+ jekyll-watch (~> 1.1)
40
+ kramdown (~> 1.3)
41
+ liquid (~> 2.6.1)
42
+ mercenary (~> 0.3.3)
43
+ pygments.rb (~> 0.6.0)
44
+ redcarpet (~> 3.1)
45
+ safe_yaml (~> 1.0)
46
+ toml (~> 0.1.0)
47
+ jekyll-coffeescript (1.2.2)
48
+ coffee-script (~> 2.2)
49
+ coffee-script-source (~> 1.12)
50
+ jekyll-gist (1.5.0)
51
+ octokit (~> 4.2)
52
+ jekyll-paginate (1.1.0)
53
+ jekyll-sass-converter (1.5.2)
54
+ sass (~> 3.4)
55
+ jekyll-watch (1.5.1)
56
+ listen (~> 3.0)
57
+ kramdown (1.17.0)
58
+ liquid (2.6.3)
59
+ listen (3.2.0)
60
+ rb-fsevent (~> 0.10, >= 0.10.3)
61
+ rb-inotify (~> 0.9, >= 0.9.10)
62
+ mercenary (0.3.6)
63
+ multipart-post (2.1.1)
64
+ octokit (4.14.0)
65
+ sawyer (~> 0.8.0, >= 0.5.3)
66
+ parallel (1.18.0)
67
+ parser (2.6.5.0)
68
+ ast (~> 2.4.0)
69
+ parslet (1.5.0)
70
+ blankslate (~> 2.0)
71
+ posix-spawn (0.3.13)
72
+ public_suffix (4.0.1)
73
+ pygments.rb (0.6.3)
74
+ posix-spawn (~> 0.3.6)
75
+ yajl-ruby (~> 1.2.0)
76
+ rainbow (3.0.0)
77
+ rake (13.0.0)
78
+ rb-fsevent (0.10.3)
79
+ rb-inotify (0.10.0)
80
+ ffi (~> 1.0)
81
+ redcarpet (3.5.0)
82
+ rspec (3.9.0)
83
+ rspec-core (~> 3.9.0)
84
+ rspec-expectations (~> 3.9.0)
85
+ rspec-mocks (~> 3.9.0)
86
+ rspec-core (3.9.0)
87
+ rspec-support (~> 3.9.0)
88
+ rspec-expectations (3.9.0)
89
+ diff-lcs (>= 1.2.0, < 2.0)
90
+ rspec-support (~> 3.9.0)
91
+ rspec-mocks (3.9.0)
92
+ diff-lcs (>= 1.2.0, < 2.0)
93
+ rspec-support (~> 3.9.0)
94
+ rspec-support (3.9.0)
95
+ rubocop (0.71.0)
96
+ jaro_winkler (~> 1.5.1)
97
+ parallel (~> 1.10)
98
+ parser (>= 2.6)
99
+ rainbow (>= 2.2.2, < 4.0)
100
+ ruby-progressbar (~> 1.7)
101
+ unicode-display_width (>= 1.4.0, < 1.7)
102
+ rubocop-jekyll (0.10.0)
103
+ rubocop (>= 0.68.0, < 0.72.0)
104
+ rubocop-performance (~> 1.2)
105
+ rubocop-performance (1.5.0)
106
+ rubocop (>= 0.71.0)
107
+ ruby-progressbar (1.10.1)
108
+ safe_yaml (1.0.5)
109
+ sass (3.7.4)
110
+ sass-listen (~> 4.0.0)
111
+ sass-listen (4.0.0)
112
+ rb-fsevent (~> 0.9, >= 0.9.4)
113
+ rb-inotify (~> 0.9, >= 0.9.7)
114
+ sawyer (0.8.2)
115
+ addressable (>= 2.3.5)
116
+ faraday (> 0.8, < 2.0)
117
+ thor (0.20.3)
118
+ toml (0.1.2)
119
+ parslet (~> 1.5.0)
120
+ unicode-display_width (1.6.0)
121
+ yajl-ruby (1.2.3)
122
+
123
+ PLATFORMS
124
+ ruby
125
+
126
+ DEPENDENCIES
127
+ appraisal (~> 2.2)
128
+ cloudcannon-jekyll!
129
+ jekyll (= 2.4.0)
130
+ rake (~> 13.0)
131
+ rspec (~> 3.9)
132
+ rubocop (~> 0.71)
133
+ rubocop-jekyll (~> 0.10)
134
+
135
+ BUNDLED WITH
136
+ 2.0.2
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "jekyll", "3.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,95 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudcannon-jekyll (0.0.1)
5
+ jekyll (>= 2.4.0, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ appraisal (2.2.0)
11
+ bundler
12
+ rake
13
+ thor (>= 0.14.0)
14
+ ast (2.4.0)
15
+ colorator (0.1)
16
+ diff-lcs (1.3)
17
+ ffi (1.11.1)
18
+ jaro_winkler (1.5.4)
19
+ jekyll (3.0.0)
20
+ colorator (~> 0.1)
21
+ jekyll-sass-converter (~> 1.0)
22
+ jekyll-watch (~> 1.1)
23
+ kramdown (~> 1.3)
24
+ liquid (~> 3.0)
25
+ mercenary (~> 0.3.3)
26
+ rouge (~> 1.7)
27
+ safe_yaml (~> 1.0)
28
+ jekyll-sass-converter (1.5.2)
29
+ sass (~> 3.4)
30
+ jekyll-watch (1.5.1)
31
+ listen (~> 3.0)
32
+ kramdown (1.17.0)
33
+ liquid (3.0.6)
34
+ listen (3.2.0)
35
+ rb-fsevent (~> 0.10, >= 0.10.3)
36
+ rb-inotify (~> 0.9, >= 0.9.10)
37
+ mercenary (0.3.6)
38
+ parallel (1.18.0)
39
+ parser (2.6.5.0)
40
+ ast (~> 2.4.0)
41
+ rainbow (3.0.0)
42
+ rake (13.0.0)
43
+ rb-fsevent (0.10.3)
44
+ rb-inotify (0.10.0)
45
+ ffi (~> 1.0)
46
+ rouge (1.11.1)
47
+ rspec (3.9.0)
48
+ rspec-core (~> 3.9.0)
49
+ rspec-expectations (~> 3.9.0)
50
+ rspec-mocks (~> 3.9.0)
51
+ rspec-core (3.9.0)
52
+ rspec-support (~> 3.9.0)
53
+ rspec-expectations (3.9.0)
54
+ diff-lcs (>= 1.2.0, < 2.0)
55
+ rspec-support (~> 3.9.0)
56
+ rspec-mocks (3.9.0)
57
+ diff-lcs (>= 1.2.0, < 2.0)
58
+ rspec-support (~> 3.9.0)
59
+ rspec-support (3.9.0)
60
+ rubocop (0.71.0)
61
+ jaro_winkler (~> 1.5.1)
62
+ parallel (~> 1.10)
63
+ parser (>= 2.6)
64
+ rainbow (>= 2.2.2, < 4.0)
65
+ ruby-progressbar (~> 1.7)
66
+ unicode-display_width (>= 1.4.0, < 1.7)
67
+ rubocop-jekyll (0.10.0)
68
+ rubocop (>= 0.68.0, < 0.72.0)
69
+ rubocop-performance (~> 1.2)
70
+ rubocop-performance (1.5.0)
71
+ rubocop (>= 0.71.0)
72
+ ruby-progressbar (1.10.1)
73
+ safe_yaml (1.0.5)
74
+ sass (3.7.4)
75
+ sass-listen (~> 4.0.0)
76
+ sass-listen (4.0.0)
77
+ rb-fsevent (~> 0.9, >= 0.9.4)
78
+ rb-inotify (~> 0.9, >= 0.9.7)
79
+ thor (0.20.3)
80
+ unicode-display_width (1.6.0)
81
+
82
+ PLATFORMS
83
+ ruby
84
+
85
+ DEPENDENCIES
86
+ appraisal (~> 2.2)
87
+ cloudcannon-jekyll!
88
+ jekyll (= 3.0.0)
89
+ rake (~> 13.0)
90
+ rspec (~> 3.9)
91
+ rubocop (~> 0.71)
92
+ rubocop-jekyll (~> 0.10)
93
+
94
+ BUNDLED WITH
95
+ 2.0.2
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "jekyll", "3.8.5"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,113 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudcannon-jekyll (0.0.1)
5
+ jekyll (>= 2.4.0, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ appraisal (2.2.0)
13
+ bundler
14
+ rake
15
+ thor (>= 0.14.0)
16
+ ast (2.4.0)
17
+ colorator (1.1.0)
18
+ concurrent-ruby (1.1.5)
19
+ diff-lcs (1.3)
20
+ em-websocket (0.5.1)
21
+ eventmachine (>= 0.12.9)
22
+ http_parser.rb (~> 0.6.0)
23
+ eventmachine (1.2.7)
24
+ ffi (1.11.1)
25
+ forwardable-extended (2.6.0)
26
+ http_parser.rb (0.6.0)
27
+ i18n (0.9.5)
28
+ concurrent-ruby (~> 1.0)
29
+ jaro_winkler (1.5.4)
30
+ jekyll (3.8.5)
31
+ addressable (~> 2.4)
32
+ colorator (~> 1.0)
33
+ em-websocket (~> 0.5)
34
+ i18n (~> 0.7)
35
+ jekyll-sass-converter (~> 1.0)
36
+ jekyll-watch (~> 2.0)
37
+ kramdown (~> 1.14)
38
+ liquid (~> 4.0)
39
+ mercenary (~> 0.3.3)
40
+ pathutil (~> 0.9)
41
+ rouge (>= 1.7, < 4)
42
+ safe_yaml (~> 1.0)
43
+ jekyll-sass-converter (1.5.2)
44
+ sass (~> 3.4)
45
+ jekyll-watch (2.2.1)
46
+ listen (~> 3.0)
47
+ kramdown (1.17.0)
48
+ liquid (4.0.3)
49
+ listen (3.2.0)
50
+ rb-fsevent (~> 0.10, >= 0.10.3)
51
+ rb-inotify (~> 0.9, >= 0.9.10)
52
+ mercenary (0.3.6)
53
+ parallel (1.18.0)
54
+ parser (2.6.5.0)
55
+ ast (~> 2.4.0)
56
+ pathutil (0.16.2)
57
+ forwardable-extended (~> 2.6)
58
+ public_suffix (4.0.1)
59
+ rainbow (3.0.0)
60
+ rake (13.0.0)
61
+ rb-fsevent (0.10.3)
62
+ rb-inotify (0.10.0)
63
+ ffi (~> 1.0)
64
+ rouge (3.12.0)
65
+ rspec (3.9.0)
66
+ rspec-core (~> 3.9.0)
67
+ rspec-expectations (~> 3.9.0)
68
+ rspec-mocks (~> 3.9.0)
69
+ rspec-core (3.9.0)
70
+ rspec-support (~> 3.9.0)
71
+ rspec-expectations (3.9.0)
72
+ diff-lcs (>= 1.2.0, < 2.0)
73
+ rspec-support (~> 3.9.0)
74
+ rspec-mocks (3.9.0)
75
+ diff-lcs (>= 1.2.0, < 2.0)
76
+ rspec-support (~> 3.9.0)
77
+ rspec-support (3.9.0)
78
+ rubocop (0.71.0)
79
+ jaro_winkler (~> 1.5.1)
80
+ parallel (~> 1.10)
81
+ parser (>= 2.6)
82
+ rainbow (>= 2.2.2, < 4.0)
83
+ ruby-progressbar (~> 1.7)
84
+ unicode-display_width (>= 1.4.0, < 1.7)
85
+ rubocop-jekyll (0.10.0)
86
+ rubocop (>= 0.68.0, < 0.72.0)
87
+ rubocop-performance (~> 1.2)
88
+ rubocop-performance (1.5.0)
89
+ rubocop (>= 0.71.0)
90
+ ruby-progressbar (1.10.1)
91
+ safe_yaml (1.0.5)
92
+ sass (3.7.4)
93
+ sass-listen (~> 4.0.0)
94
+ sass-listen (4.0.0)
95
+ rb-fsevent (~> 0.9, >= 0.9.4)
96
+ rb-inotify (~> 0.9, >= 0.9.7)
97
+ thor (0.20.3)
98
+ unicode-display_width (1.6.0)
99
+
100
+ PLATFORMS
101
+ ruby
102
+
103
+ DEPENDENCIES
104
+ appraisal (~> 2.2)
105
+ cloudcannon-jekyll!
106
+ jekyll (= 3.8.5)
107
+ rake (~> 13.0)
108
+ rspec (~> 3.9)
109
+ rubocop (~> 0.71)
110
+ rubocop-jekyll (~> 0.10)
111
+
112
+ BUNDLED WITH
113
+ 2.0.2
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "jekyll", "4.0.0"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,116 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ cloudcannon-jekyll (0.0.1)
5
+ jekyll (>= 2.4.0, < 5)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ appraisal (2.2.0)
13
+ bundler
14
+ rake
15
+ thor (>= 0.14.0)
16
+ ast (2.4.0)
17
+ colorator (1.1.0)
18
+ concurrent-ruby (1.1.5)
19
+ diff-lcs (1.3)
20
+ em-websocket (0.5.1)
21
+ eventmachine (>= 0.12.9)
22
+ http_parser.rb (~> 0.6.0)
23
+ eventmachine (1.2.7)
24
+ ffi (1.11.1)
25
+ forwardable-extended (2.6.0)
26
+ http_parser.rb (0.6.0)
27
+ i18n (1.7.0)
28
+ concurrent-ruby (~> 1.0)
29
+ jaro_winkler (1.5.4)
30
+ jekyll (4.0.0)
31
+ addressable (~> 2.4)
32
+ colorator (~> 1.0)
33
+ em-websocket (~> 0.5)
34
+ i18n (>= 0.9.5, < 2)
35
+ jekyll-sass-converter (~> 2.0)
36
+ jekyll-watch (~> 2.0)
37
+ kramdown (~> 2.1)
38
+ kramdown-parser-gfm (~> 1.0)
39
+ liquid (~> 4.0)
40
+ mercenary (~> 0.3.3)
41
+ pathutil (~> 0.9)
42
+ rouge (~> 3.0)
43
+ safe_yaml (~> 1.0)
44
+ terminal-table (~> 1.8)
45
+ jekyll-sass-converter (2.0.1)
46
+ sassc (> 2.0.1, < 3.0)
47
+ jekyll-watch (2.2.1)
48
+ listen (~> 3.0)
49
+ kramdown (2.1.0)
50
+ kramdown-parser-gfm (1.1.0)
51
+ kramdown (~> 2.0)
52
+ liquid (4.0.3)
53
+ listen (3.2.0)
54
+ rb-fsevent (~> 0.10, >= 0.10.3)
55
+ rb-inotify (~> 0.9, >= 0.9.10)
56
+ mercenary (0.3.6)
57
+ parallel (1.18.0)
58
+ parser (2.6.5.0)
59
+ ast (~> 2.4.0)
60
+ pathutil (0.16.2)
61
+ forwardable-extended (~> 2.6)
62
+ public_suffix (4.0.1)
63
+ rainbow (3.0.0)
64
+ rake (13.0.0)
65
+ rb-fsevent (0.10.3)
66
+ rb-inotify (0.10.0)
67
+ ffi (~> 1.0)
68
+ rouge (3.12.0)
69
+ rspec (3.9.0)
70
+ rspec-core (~> 3.9.0)
71
+ rspec-expectations (~> 3.9.0)
72
+ rspec-mocks (~> 3.9.0)
73
+ rspec-core (3.9.0)
74
+ rspec-support (~> 3.9.0)
75
+ rspec-expectations (3.9.0)
76
+ diff-lcs (>= 1.2.0, < 2.0)
77
+ rspec-support (~> 3.9.0)
78
+ rspec-mocks (3.9.0)
79
+ diff-lcs (>= 1.2.0, < 2.0)
80
+ rspec-support (~> 3.9.0)
81
+ rspec-support (3.9.0)
82
+ rubocop (0.71.0)
83
+ jaro_winkler (~> 1.5.1)
84
+ parallel (~> 1.10)
85
+ parser (>= 2.6)
86
+ rainbow (>= 2.2.2, < 4.0)
87
+ ruby-progressbar (~> 1.7)
88
+ unicode-display_width (>= 1.4.0, < 1.7)
89
+ rubocop-jekyll (0.10.0)
90
+ rubocop (>= 0.68.0, < 0.72.0)
91
+ rubocop-performance (~> 1.2)
92
+ rubocop-performance (1.5.0)
93
+ rubocop (>= 0.71.0)
94
+ ruby-progressbar (1.10.1)
95
+ safe_yaml (1.0.5)
96
+ sassc (2.2.1)
97
+ ffi (~> 1.9)
98
+ terminal-table (1.8.0)
99
+ unicode-display_width (~> 1.1, >= 1.1.1)
100
+ thor (0.20.3)
101
+ unicode-display_width (1.6.0)
102
+
103
+ PLATFORMS
104
+ ruby
105
+
106
+ DEPENDENCIES
107
+ appraisal (~> 2.2)
108
+ cloudcannon-jekyll!
109
+ jekyll (= 4.0.0)
110
+ rake (~> 13.0)
111
+ rspec (~> 3.9)
112
+ rubocop (~> 0.71)
113
+ rubocop-jekyll (~> 0.10)
114
+
115
+ BUNDLED WITH
116
+ 2.0.2
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "cloudcannon-jekyll/generator"
4
+ require "cloudcannon-jekyll/safe-jsonify-filter"
5
+
6
+ module CloudCannonJekyll
7
+ autoload :PageWithoutAFile, "cloudcannon-jekyll/page-without-a-file.rb"
8
+
9
+ Liquid::Template.register_filter(SafeJsonifyFilter)
10
+ end
@@ -0,0 +1,21 @@
1
+ {
2
+ "time": {{ site.time | jsonify }},
3
+ "generator": {
4
+ "name": "jekyll",
5
+ "version": {{ jekyll.version | jsonify }},
6
+ "environment": {{ jekyll.env | jsonify }},
7
+ "metadata": {
8
+ "markdown": {{ site.markdown | cc_safe_jsonify }},
9
+ "kramdown": {{ site.kramdown | cc_safe_jsonify }},
10
+ "commonmark": {{ site.commonmark | cc_safe_jsonify }}
11
+ }
12
+ },{% if site.cloudcannon.data %}
13
+ "data": {{ site.data | cc_safe_jsonify }},{% endif %}
14
+ "collections": {
15
+ "posts": {{ site.posts | reverse | cc_safe_jsonify }},
16
+ {% for collection in site.collections %}"{{ collection[0] | xml_escape }}": {{ collection[1].docs | cc_safe_jsonify }}{% unless forloop.last %},{% endunless %}
17
+ {% endfor %}
18
+ },
19
+ "pages": {{ site.pages | cc_safe_jsonify }},
20
+ "static": {{ site.static_files | cc_static_files_jsonify }}
21
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "time": {{ site.time | jsonify }},
3
+ "generator": {
4
+ "name": "jekyll",
5
+ "version": {{ jekyll.version | jsonify }},
6
+ "environment": {{ jekyll.env | jsonify }},
7
+ "metadata": {
8
+ "markdown": {{ site.markdown | cc_safe_jsonify }},
9
+ "kramdown": {{ site.kramdown | cc_safe_jsonify }},
10
+ "commonmark": {{ site.commonmark | cc_safe_jsonify }}
11
+ }
12
+ },{% if site.cloudcannon.data %}
13
+ "data": {{ site.data | cc_safe_jsonify }},{% endif %}
14
+ "collections": {
15
+ {% for collection in site.collections %}"{{ collection.label | xml_escape }}": {{ collection.docs | cc_safe_jsonify }}{% unless forloop.last %},{% endunless %}
16
+ {% endfor %}
17
+ },
18
+ "pages": {{ site.pages | cc_safe_jsonify }},
19
+ "static": {{ site.static_files | cc_static_files_jsonify }}
20
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "time": {{ site.time | jsonify }},
3
+ "generator": {
4
+ "name": "jekyll",
5
+ "version": {{ jekyll.version | jsonify }},
6
+ "environment": {{ jekyll.env | jsonify }},
7
+ "metadata": {
8
+ "markdown": {{ site.markdown | cc_safe_jsonify }},
9
+ "kramdown": {{ site.kramdown | cc_safe_jsonify }},
10
+ "commonmark": {{ site.commonmark | cc_safe_jsonify }}
11
+ }
12
+ },
13
+ {%- if site.cloudcannon.data %}
14
+ "data": {{ site.data | cc_safe_jsonify }},
15
+ {% endif %}
16
+ "collections": {
17
+ {% for collection in site.collections -%}
18
+ "{{ collection.label | xml_escape }}": {{ collection.docs | cc_safe_jsonify }}
19
+ {%- unless forloop.last %},{% endunless %}
20
+ {%- endfor %}
21
+ },
22
+ "pages": {{ site.pages | cc_safe_jsonify }},
23
+ "static": {{ site.static_files | cc_static_files_jsonify }}
24
+ }
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "jekyll"
4
+ require "fileutils"
5
+
6
+ module CloudCannonJekyll
7
+ class Generator < Jekyll::Generator
8
+ priority :lowest
9
+
10
+ def generate(site)
11
+ @site = site
12
+ FileUtils.mkdir_p(File.dirname(destination_path))
13
+ File.open(destination_path, "w") { |f| f.write(file_content) }
14
+ @site.keep_files ||= []
15
+ @site.keep_files << "_cloudcannon/details.json"
16
+ end
17
+
18
+ def source_path
19
+ path = "_cloudcannon/details.json"
20
+ path = "_cloudcannon/details-2.x.json" if Jekyll::VERSION.start_with? "2."
21
+ path = "_cloudcannon/details-3.0.x.json" if Jekyll::VERSION.start_with? "3.0."
22
+
23
+ File.expand_path(path, File.dirname(__FILE__))
24
+ end
25
+
26
+ def destination_path
27
+ Jekyll.sanitized_path(@site.dest, "_cloudcannon/details.json")
28
+ end
29
+
30
+ def file_content
31
+ json = PageWithoutAFile.new(@site, File.dirname(__FILE__), "", "_cloudcannon/details.json")
32
+ json.content = File.read(source_path)
33
+
34
+ json.data["layout"] = nil
35
+ json.data["sitemap"] = false
36
+ json.data["permalink"] = "/_cloudcannon/details.json"
37
+
38
+ json.render({}, @site.site_payload)
39
+ json.output
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudCannonJekyll
4
+ class PageWithoutAFile < Jekyll::Page
5
+ def read_yaml(*)
6
+ @data ||= {}
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,169 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "jekyll"
4
+
5
+ module CloudCannonJekyll
6
+ module SafeJsonifyFilter
7
+ @simple_types = [
8
+ String,
9
+ Numeric,
10
+ Integer,
11
+ Float,
12
+ Date,
13
+ Time,
14
+ NilClass,
15
+ ].freeze
16
+
17
+ @document_types = [
18
+ Jekyll::Document,
19
+ Jekyll::Page,
20
+ Jekyll::VERSION.start_with?("2.") ? Jekyll::Post : nil,
21
+ ].compact.freeze
22
+
23
+ def self.document_type?(input)
24
+ @document_types.include?(input.class)
25
+ end
26
+
27
+ def self.simple_type?(input)
28
+ @simple_types.include?(input.class) || [true, false].include?(input)
29
+ end
30
+
31
+ def self.static_file_to_json(input, depth)
32
+ out = [
33
+ "\"extname\": #{SafeJsonifyFilter.to_json(input.extname, depth + 1)}",
34
+ "\"path\": #{SafeJsonifyFilter.to_json(input.relative_path, depth + 1)}",
35
+ ]
36
+
37
+ # modified_time isn't defined in Jekyll 2.4.0
38
+ if input.respond_to? :modified_time
39
+ out.push("\"modified_time\": #{SafeJsonifyFilter.to_json(input.modified_time, depth + 1)}")
40
+ end
41
+
42
+ "{#{out.join(",")}}"
43
+ end
44
+
45
+ def self.document_data_to_json(data, out, prevent, depth)
46
+ prevent += %w(content output next previous excerpt)
47
+
48
+ data.map do |key, value|
49
+ unless prevent.include? key
50
+ out.push("\"#{key}\": #{SafeJsonifyFilter.to_json(value, depth + 1)}")
51
+ prevent.push(key)
52
+ end
53
+ end
54
+
55
+ "{#{out.join(",")}}"
56
+ end
57
+
58
+ def self.legacy_post_to_json(input, depth)
59
+ prevent = %w(dir name path url date id categories tags)
60
+
61
+ out = [
62
+ "\"dir\": #{SafeJsonifyFilter.to_json(input.dir, depth + 1)}",
63
+ "\"name\": #{SafeJsonifyFilter.to_json(input.name, depth + 1)}",
64
+ "\"path\": #{SafeJsonifyFilter.to_json(input.path, depth + 1)}",
65
+ "\"url\": #{SafeJsonifyFilter.to_json(input.url, depth + 1)}",
66
+ "\"date\": #{SafeJsonifyFilter.to_json(input.date, depth + 1)}",
67
+ "\"id\": #{SafeJsonifyFilter.to_json(input.id, depth + 1)}",
68
+ "\"categories\": #{SafeJsonifyFilter.to_json(input.categories, depth + 1)}",
69
+ "\"tags\": #{SafeJsonifyFilter.to_json(input.tags, depth + 1)}",
70
+ ]
71
+
72
+ SafeJsonifyFilter.document_data_to_json(input.data, out, prevent, depth)
73
+ end
74
+
75
+ def self.page_to_json(input, depth)
76
+ prevent = %w(dir name path url)
77
+
78
+ out = [
79
+ "\"dir\": #{SafeJsonifyFilter.to_json(input.dir, depth + 1)}",
80
+ "\"name\": #{SafeJsonifyFilter.to_json(input.name, depth + 1)}",
81
+ "\"path\": #{SafeJsonifyFilter.to_json(input.path, depth + 1)}",
82
+ "\"url\": #{SafeJsonifyFilter.to_json(input.url, depth + 1)}",
83
+ ]
84
+
85
+ # Merge Jekyll Defaults into data for pages (missing at v3.8.5)
86
+ defaults = input.site.frontmatter_defaults.all(input.relative_path, :pages).tap do |h|
87
+ h.delete("date")
88
+ end
89
+
90
+ data = Jekyll::Utils.deep_merge_hashes(defaults, input.data)
91
+ SafeJsonifyFilter.document_data_to_json(data, out, prevent, depth)
92
+ end
93
+
94
+ def self.document_to_json(input, depth)
95
+ prevent = %w(dir id relative_path url collection)
96
+
97
+ out = [
98
+ "\"path\": #{SafeJsonifyFilter.to_json(input.relative_path, depth + 1)}",
99
+ "\"relative_path\": #{SafeJsonifyFilter.to_json(input.relative_path, depth + 1)}",
100
+ "\"url\": #{SafeJsonifyFilter.to_json(input.url, depth + 1)}",
101
+ ]
102
+
103
+ unless input.collection.nil?
104
+ out.push("\"collection\": #{SafeJsonifyFilter.to_json(input.collection.label, depth + 1)}")
105
+ end
106
+
107
+ # id isn't defined in Jekyll 2.4.0
108
+ out.push("\"id\": #{SafeJsonifyFilter.to_json(input.id, depth + 1)}") if input.respond_to? :id
109
+
110
+ SafeJsonifyFilter.document_data_to_json(input.data, out, prevent, depth)
111
+ end
112
+
113
+ def self.array_to_json(input, depth)
114
+ array = input.map do |value|
115
+ SafeJsonifyFilter.to_json(value, depth + 1)
116
+ end
117
+
118
+ "[#{array.join(",")}]"
119
+ end
120
+
121
+ def self.hash_to_json(input, depth)
122
+ hash = input.map do |key, value|
123
+ "\"#{key}\": #{SafeJsonifyFilter.to_json(value, depth + 1)}"
124
+ end
125
+
126
+ "{#{hash.join(",")}}"
127
+ end
128
+
129
+ def self.to_json(input, depth)
130
+ if depth > 8 || (depth > 2 && SafeJsonifyFilter.document_type?(input))
131
+ '"MAXIMUM_DEPTH"'
132
+ elsif SafeJsonifyFilter.simple_type?(input)
133
+ input.to_json
134
+ elsif input.is_a?(Jekyll::StaticFile)
135
+ SafeJsonifyFilter.static_file_to_json(input, depth)
136
+ elsif input.is_a?(Jekyll::Page)
137
+ SafeJsonifyFilter.page_to_json(input, depth)
138
+ elsif Jekyll::VERSION.start_with?("2.") && input.is_a?(Jekyll::Post)
139
+ SafeJsonifyFilter.legacy_post_to_json(input, depth)
140
+ elsif input.is_a?(Jekyll::Document)
141
+ SafeJsonifyFilter.document_to_json(input, depth)
142
+ elsif input.is_a?(Array)
143
+ SafeJsonifyFilter.array_to_json(input, depth)
144
+ elsif input.is_a?(Hash)
145
+ SafeJsonifyFilter.hash_to_json(input, depth)
146
+ else
147
+ "\"UNSUPPORTED:#{input.class}\""
148
+ end
149
+ end
150
+
151
+ def cc_static_files_jsonify(input)
152
+ out = []
153
+ input.each do |page|
154
+ next if page.extname != ".html" &&
155
+ page.extname != ".htm" &&
156
+ page.path != "/robots.txt" &&
157
+ page.path != "/sitemap.xml"
158
+
159
+ out.push(SafeJsonifyFilter.to_json(page, 1))
160
+ end
161
+
162
+ "[#{out.join(",")}]"
163
+ end
164
+
165
+ def cc_safe_jsonify(input)
166
+ SafeJsonifyFilter.to_json(input, 0)
167
+ end
168
+ end
169
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CloudCannonJekyll
4
+ VERSION = "0.0.1"
5
+ end
data/script/test ADDED
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+ set -ex
3
+
4
+ bundle exec rspec "$@"
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cloudcannon-jekyll
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - CloudCannon
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-11-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.4.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 2.4.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5'
33
+ - !ruby/object:Gem::Dependency
34
+ name: appraisal
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.2'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '13.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '13.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.9'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.9'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rubocop
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.71'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.71'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rubocop-jekyll
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.10'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.10'
103
+ description: Creates CloudCannon editor details for Jekyll
104
+ email:
105
+ - support@cloudcannon.com
106
+ executables: []
107
+ extensions: []
108
+ extra_rdoc_files: []
109
+ files:
110
+ - ".gitignore"
111
+ - ".rubocop.yml"
112
+ - Appraisals
113
+ - Gemfile
114
+ - Gemfile.lock
115
+ - HISTORY.md
116
+ - LICENSE.txt
117
+ - README.md
118
+ - Rakefile
119
+ - cloudcannon-jekyll.gemspec
120
+ - gemfiles/.bundle/config
121
+ - gemfiles/jekyll_2.gemfile
122
+ - gemfiles/jekyll_2.gemfile.lock
123
+ - gemfiles/jekyll_3_0_0.gemfile
124
+ - gemfiles/jekyll_3_0_0.gemfile.lock
125
+ - gemfiles/jekyll_3_8_5.gemfile
126
+ - gemfiles/jekyll_3_8_5.gemfile.lock
127
+ - gemfiles/jekyll_4.gemfile
128
+ - gemfiles/jekyll_4.gemfile.lock
129
+ - lib/cloudcannon-jekyll.rb
130
+ - lib/cloudcannon-jekyll/_cloudcannon/details-2.x.json
131
+ - lib/cloudcannon-jekyll/_cloudcannon/details-3.0.x.json
132
+ - lib/cloudcannon-jekyll/_cloudcannon/details.json
133
+ - lib/cloudcannon-jekyll/generator.rb
134
+ - lib/cloudcannon-jekyll/page-without-a-file.rb
135
+ - lib/cloudcannon-jekyll/safe-jsonify-filter.rb
136
+ - lib/cloudcannon-jekyll/version.rb
137
+ - script/test
138
+ homepage: https://github.com/cloudcannon/cloudcannon-jekyll
139
+ licenses:
140
+ - MIT
141
+ metadata: {}
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 2.7.6.2
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: CloudCannon Jekyll integration
162
+ test_files: []