jekyll-contentful-data-import 1.5.1 → 1.6.0
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/CHANGELOG.md +7 -0
- data/README.md +33 -11
- data/jekyll-contentful.gemspec +1 -1
- data/lib/jekyll-contentful-data-import/{data_exporter.rb → base_data_exporter.rb} +21 -24
- data/lib/jekyll-contentful-data-import/importer.rb +33 -4
- data/lib/jekyll-contentful-data-import/multi_file_data_exporter.rb +35 -0
- data/lib/jekyll-contentful-data-import/single_file_data_exporter.rb +27 -0
- data/lib/jekyll-contentful-data-import/version.rb +1 -1
- data/spec/jekyll-contentful/importer_spec.rb +38 -4
- data/spec/jekyll-contentful/multi_file_data_exporter_spec.rb +85 -0
- data/spec/jekyll-contentful/{data_exporter_spec.rb → single_file_data_exporter_spec.rb} +4 -4
- metadata +11 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6240e01bd316ec09f91d3ec93de0886cb6b550fb
|
4
|
+
data.tar.gz: a77e6bb3f7234b2d7aec8816251a23c627a27db7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 479b3306559697cd362e4a371365c671b644c00f62cecc82d8eb3207a542fc999d547f800f421e3603fdea1b4107079233b42db81318ebfcacab93f5c9db07ca
|
7
|
+
data.tar.gz: 7cbae4efc303ff3b88cfa62227ad4c19ec828db56eab9f84424d084cad8d5eaa66ea066e1db89beb842acf52a1286f12cdebdf8f5f6da5eac77fe631f6aecfd9
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## 1.6.0
|
6
|
+
|
7
|
+
### Added
|
8
|
+
* Independent file per entry [#45](https://github.com/contentful/jekyll-contentful-data-import/pull/45) [#10](https://github.com/contentful/jekyll-contentful-data-import/issues/10) [#23](https://github.com/contentful/jekyll-contentful-data-import/pull/23) [#25](https://github.com/contentful/jekyll-contentful-data-import/issues/25)
|
9
|
+
* Added User Agent Integration Headers
|
10
|
+
|
5
11
|
## v1.5.1
|
6
12
|
### Fixed
|
7
13
|
* Fixed wrong serialization for Location fields
|
@@ -10,6 +16,7 @@
|
|
10
16
|
|
11
17
|
### Changed
|
12
18
|
* Updated CDA SDK to 2.0
|
19
|
+
* Field IDs will now be `snake_cased` following the 2.0.1 Ruby CDA SDK Upgrade
|
13
20
|
|
14
21
|
### Added
|
15
22
|
* Added more metadata to `sys` attributes in entries
|
data/README.md
CHANGED
@@ -55,19 +55,21 @@ contentful:
|
|
55
55
|
api_url: 'preview.contentful.com' # Defaults to 'api.contentful.com' which is Production
|
56
56
|
base_path: app_path # Optional - Defaults to Current directory
|
57
57
|
destination: destination_in_data # Optional - Defaults to _data/contentful/spaces
|
58
|
+
individual_entry_files: true # Optional - Defaults to false
|
58
59
|
```
|
59
60
|
|
60
|
-
Parameter
|
61
|
-
----------
|
62
|
-
space
|
63
|
-
access_token
|
64
|
-
cda_query
|
65
|
-
all_entries
|
66
|
-
all_entries_page_size
|
67
|
-
content_types
|
68
|
-
client_options
|
69
|
-
base_path
|
70
|
-
destination
|
61
|
+
Parameter | Description
|
62
|
+
---------- | ------------
|
63
|
+
space | Contentful Space ID
|
64
|
+
access_token | Contentful Delivery API access token
|
65
|
+
cda_query | Hash describing query configuration. See [contentful.rb](https://github.com/contentful/contentful.rb) for more info (look for filter options there). Note that by default only 100 entries will be fetched, this can be configured to up to 1000 entries using the `limit` option.
|
66
|
+
all_entries | Boolean, if true will run multiple queries to the API until it fetches all entries for the space
|
67
|
+
all_entries_page_size | Integer, the amount of maximum entries per CDA Request when fetching :all_entries
|
68
|
+
content_types | Hash describing the mapping applied to entries of the imported content types
|
69
|
+
client_options | Hash describing Contentful::Client configuration. See [contentful.rb](https://github.com/contentful/contentful.rb) for more info.
|
70
|
+
base_path | String with path to your Jekyll Application, defaults to current directory. Path is relative to your current location.
|
71
|
+
destination | String with path within `_data` under which to store the output yaml file. Defaults to contentful/spaces
|
72
|
+
individual_entry_files | Boolean, if true will create an individual file per entry separated in folders by content type, file path will be `{space_alias}/{content_type_id}/{entry_id}.yaml`. Default behavior is to create a file per space. Usage is affected when this is set to true, please look in the section below.
|
71
73
|
|
72
74
|
You can add multiple spaces to your configuration
|
73
75
|
|
@@ -157,6 +159,26 @@ therefore you can do the following:
|
|
157
159
|
This way, it is safe to share your code without having to worry
|
158
160
|
about your credentials.
|
159
161
|
|
162
|
+
### Using Multiple Entry Files
|
163
|
+
|
164
|
+
When setting the `individual_entry_files` flag to true, the usage pattern changes a little,
|
165
|
+
as Jekyll does not allow for variable unpacking when iterating.
|
166
|
+
|
167
|
+
A usage example is as follows:
|
168
|
+
|
169
|
+
```html
|
170
|
+
<ul class="cat-list">
|
171
|
+
<!-- Each element in the array of entries for a content type is an array of the form ['entry_id', { ... entry_data ...}] -->
|
172
|
+
{% for cat_data in site.data.contentful.spaces.example.cat %}
|
173
|
+
{% assign cat_id = cat_data[0] %} <!-- Entry ID is the first element of the array -->
|
174
|
+
{% assign cat = cat_data[1] %} <!-- Entry data is the second element of the array -->
|
175
|
+
<li>
|
176
|
+
<p>{{ cat_id }}: {{ cat.name }}</p>
|
177
|
+
</li>
|
178
|
+
{% endfor %}
|
179
|
+
</ul>
|
180
|
+
```
|
181
|
+
|
160
182
|
## Examples
|
161
183
|
|
162
184
|
You can find working examples of multiple uses [here](https://github.com/contentful/contentful_jekyll_examples).
|
data/jekyll-contentful.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency("jekyll", ">= 2.5.0", "< 4")
|
23
23
|
|
24
24
|
# Additional dependencies
|
25
|
-
s.add_dependency("contentful", '
|
25
|
+
s.add_dependency("contentful", '~> 2.1')
|
26
26
|
|
27
27
|
s.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
28
28
|
s.add_development_dependency "guard"
|
@@ -2,14 +2,10 @@ require 'jekyll-contentful-data-import/serializer'
|
|
2
2
|
|
3
3
|
module Jekyll
|
4
4
|
module Contentful
|
5
|
-
# Data Exporter Class
|
5
|
+
# Base Data Exporter Class
|
6
6
|
#
|
7
|
-
#
|
8
|
-
class
|
9
|
-
DATA_FOLDER = '_data'.freeze
|
10
|
-
CONTENTFUL_FOLDER = 'contentful'.freeze
|
11
|
-
SPACES_FOLDER = 'spaces'.freeze
|
12
|
-
|
7
|
+
# Generic Data Exporter Implementation
|
8
|
+
class BaseDataExporter
|
13
9
|
attr_reader :name, :entries, :config
|
14
10
|
|
15
11
|
def initialize(name, entries, config = {})
|
@@ -19,16 +15,7 @@ module Jekyll
|
|
19
15
|
end
|
20
16
|
|
21
17
|
def run
|
22
|
-
|
23
|
-
|
24
|
-
File.open(destination_file, 'w') do |file|
|
25
|
-
file.write(
|
26
|
-
::Jekyll::Contentful::Serializer.new(
|
27
|
-
entries,
|
28
|
-
config
|
29
|
-
).to_yaml
|
30
|
-
)
|
31
|
-
end
|
18
|
+
raise 'must implement'
|
32
19
|
end
|
33
20
|
|
34
21
|
def base_directory
|
@@ -45,24 +32,34 @@ module Jekyll
|
|
45
32
|
|
46
33
|
def destination_directory
|
47
34
|
destination_dir = File.join(
|
48
|
-
base_directory,
|
49
|
-
|
35
|
+
base_directory, data_folder,
|
36
|
+
contentful_folder, spaces_folder
|
50
37
|
)
|
51
38
|
if config.key?('destination')
|
52
39
|
destination_dir = File.join(
|
53
|
-
base_directory,
|
40
|
+
base_directory, data_folder, config['destination']
|
54
41
|
)
|
55
42
|
end
|
56
43
|
|
57
44
|
destination_dir
|
58
45
|
end
|
59
46
|
|
60
|
-
def
|
61
|
-
|
47
|
+
def setup_directory(directory)
|
48
|
+
FileUtils.mkdir_p(directory)
|
49
|
+
end
|
50
|
+
|
51
|
+
protected
|
52
|
+
|
53
|
+
def data_folder
|
54
|
+
'_data'
|
55
|
+
end
|
56
|
+
|
57
|
+
def contentful_folder
|
58
|
+
'contentful'
|
62
59
|
end
|
63
60
|
|
64
|
-
def
|
65
|
-
|
61
|
+
def spaces_folder
|
62
|
+
'spaces'
|
66
63
|
end
|
67
64
|
end
|
68
65
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'contentful'
|
2
|
-
require 'jekyll-contentful-data-import/
|
2
|
+
require 'jekyll-contentful-data-import/single_file_data_exporter'
|
3
|
+
require 'jekyll-contentful-data-import/multi_file_data_exporter'
|
3
4
|
|
4
5
|
module Jekyll
|
5
6
|
module Contentful
|
@@ -26,9 +27,35 @@ module Jekyll
|
|
26
27
|
end
|
27
28
|
|
28
29
|
def export_data(name, space_client, options)
|
29
|
-
|
30
|
+
entries = get_entries(space_client, options)
|
31
|
+
|
32
|
+
if options.fetch('individual_entry_files', false)
|
33
|
+
export_data_multiple_files(
|
34
|
+
name,
|
35
|
+
entries,
|
36
|
+
options
|
37
|
+
)
|
38
|
+
else
|
39
|
+
export_data_single_file(
|
40
|
+
name,
|
41
|
+
entries,
|
42
|
+
options
|
43
|
+
)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def export_data_single_file(name, entries, options)
|
48
|
+
Jekyll::Contentful::SingleFileDataExporter.new(
|
49
|
+
name,
|
50
|
+
entries,
|
51
|
+
options
|
52
|
+
).run
|
53
|
+
end
|
54
|
+
|
55
|
+
def export_data_multiple_files(name, entries, options)
|
56
|
+
Jekyll::Contentful::MultiFileDataExporter.new(
|
30
57
|
name,
|
31
|
-
|
58
|
+
entries,
|
32
59
|
options
|
33
60
|
).run
|
34
61
|
end
|
@@ -68,7 +95,9 @@ module Jekyll
|
|
68
95
|
space: space,
|
69
96
|
access_token: access_token,
|
70
97
|
dynamic_entries: :auto,
|
71
|
-
raise_errors: true
|
98
|
+
raise_errors: true,
|
99
|
+
integration_name: 'jekyll',
|
100
|
+
integration_version: Jekyll::Contentful::VERSION
|
72
101
|
}.merge(options)
|
73
102
|
|
74
103
|
::Contentful::Client.new(options)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'jekyll-contentful-data-import/base_data_exporter'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
module Jekyll
|
5
|
+
module Contentful
|
6
|
+
# Single File Data Exporter Class
|
7
|
+
#
|
8
|
+
# Serializes Contentful data into a multiple YAML files
|
9
|
+
class MultiFileDataExporter < BaseDataExporter
|
10
|
+
def run
|
11
|
+
data = ::Jekyll::Contentful::Serializer.new(
|
12
|
+
entries,
|
13
|
+
config
|
14
|
+
).serialize
|
15
|
+
|
16
|
+
data.each do |content_type, entries|
|
17
|
+
content_type_directory = File.join(destination_directory, name, content_type.to_s)
|
18
|
+
setup_directory(content_type_directory)
|
19
|
+
|
20
|
+
entries.each do |entry|
|
21
|
+
yaml_entry = YAML.dump(entry)
|
22
|
+
|
23
|
+
File.open(destination_file(content_type_directory, entry), 'w') do |file|
|
24
|
+
file.write(yaml_entry)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def destination_file(content_type_directory, entry)
|
31
|
+
File.join(content_type_directory, "#{entry['sys']['id']}.yaml")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'jekyll-contentful-data-import/base_data_exporter'
|
2
|
+
|
3
|
+
module Jekyll
|
4
|
+
module Contentful
|
5
|
+
# Single File Data Exporter Class
|
6
|
+
#
|
7
|
+
# Serializes Contentful data into a single YAML file
|
8
|
+
class SingleFileDataExporter < BaseDataExporter
|
9
|
+
def run
|
10
|
+
setup_directory(destination_directory)
|
11
|
+
|
12
|
+
File.open(destination_file, 'w') do |file|
|
13
|
+
file.write(
|
14
|
+
::Jekyll::Contentful::Serializer.new(
|
15
|
+
entries,
|
16
|
+
config
|
17
|
+
).to_yaml
|
18
|
+
)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def destination_file
|
23
|
+
File.join(destination_directory, "#{name}.yaml")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -42,13 +42,27 @@ describe Jekyll::Contentful::Importer do
|
|
42
42
|
|
43
43
|
describe '#client' do
|
44
44
|
it 'creates client with some defaults' do
|
45
|
-
expect(::Contentful::Client).to receive(:new).with(
|
45
|
+
expect(::Contentful::Client).to receive(:new).with(
|
46
|
+
space: 'foo',
|
47
|
+
access_token: 'foobar',
|
48
|
+
dynamic_entries: :auto,
|
49
|
+
raise_errors: true,
|
50
|
+
integration_name: 'jekyll',
|
51
|
+
integration_version: Jekyll::Contentful::VERSION
|
52
|
+
)
|
46
53
|
|
47
54
|
subject.client('foo', 'foobar')
|
48
55
|
end
|
49
56
|
|
50
57
|
it 'can override the defaults' do
|
51
|
-
expect(::Contentful::Client).to receive(:new).with(
|
58
|
+
expect(::Contentful::Client).to receive(:new).with(
|
59
|
+
space: 'foo',
|
60
|
+
access_token: 'foobar',
|
61
|
+
dynamic_entries: :auto,
|
62
|
+
raise_errors: false,
|
63
|
+
integration_name: 'jekyll',
|
64
|
+
integration_version: Jekyll::Contentful::VERSION
|
65
|
+
)
|
52
66
|
|
53
67
|
subject.client('foo', 'foobar', raise_errors: false)
|
54
68
|
end
|
@@ -70,7 +84,7 @@ describe Jekyll::Contentful::Importer do
|
|
70
84
|
allow(subject).to receive(:spaces).and_return([['foo', {'space' => 'foo', 'access_token' => 'bar'}], ['bar', {'space' => 'bar', 'access_token' => 'foo'}]])
|
71
85
|
allow(subject).to receive(:client).and_return(ClientDouble.new)
|
72
86
|
|
73
|
-
expect(Jekyll::Contentful::
|
87
|
+
expect(Jekyll::Contentful::SingleFileDataExporter).to receive(:new).and_return(ExporterDouble.new).twice
|
74
88
|
|
75
89
|
subject.run
|
76
90
|
end
|
@@ -78,7 +92,27 @@ describe Jekyll::Contentful::Importer do
|
|
78
92
|
it 'runs exporter with correct arguments' do
|
79
93
|
allow(subject).to receive(:client).and_return(ClientDouble.new)
|
80
94
|
|
81
|
-
expect(Jekyll::Contentful::
|
95
|
+
expect(Jekyll::Contentful::SingleFileDataExporter).to receive(:new).with('example', [], config['spaces'].first['example']).and_return(ExporterDouble.new)
|
96
|
+
|
97
|
+
subject.run
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'runs multifile exporter when passed :individual_entry_files flag' do
|
101
|
+
config = {
|
102
|
+
'spaces' => [
|
103
|
+
{
|
104
|
+
'example' => {
|
105
|
+
'space' => 'cfexampleapi',
|
106
|
+
'access_token' => 'b4c0n73n7fu1',
|
107
|
+
'individual_entry_files' => true
|
108
|
+
}
|
109
|
+
}
|
110
|
+
]
|
111
|
+
}
|
112
|
+
subject = described_class.new(config)
|
113
|
+
allow(subject).to receive(:client).and_return(ClientDouble.new)
|
114
|
+
|
115
|
+
expect(Jekyll::Contentful::MultiFileDataExporter).to receive(:new).with('example', [], config['spaces'].first['example']).and_return(ExporterDouble.new)
|
82
116
|
|
83
117
|
subject.run
|
84
118
|
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
describe Jekyll::Contentful::MultiFileDataExporter do
|
5
|
+
subject { described_class.new('foo', []) }
|
6
|
+
|
7
|
+
describe 'instance methods' do
|
8
|
+
describe '#base_directory' do
|
9
|
+
it 'default directory' do
|
10
|
+
expect(subject.base_directory).to eq(Dir.pwd)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'overridden directory' do
|
14
|
+
subject = described_class.new('foo', [], {'base_path' => 'foo_dir'})
|
15
|
+
|
16
|
+
expect(subject.base_directory).to eq(File.join(Dir.pwd, 'foo_dir'))
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#destination_directory' do
|
21
|
+
it 'default directory' do
|
22
|
+
expected = File.join(Dir.pwd, '_data', 'contentful', 'spaces')
|
23
|
+
expect(subject.destination_directory).to eq(expected)
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'overridden directory' do
|
27
|
+
subject = described_class.new('foo', [], {'base_path' => 'foo_dir'})
|
28
|
+
|
29
|
+
expected = File.join(Dir.pwd, 'foo_dir', '_data', 'contentful', 'spaces')
|
30
|
+
expect(subject.destination_directory).to eq(expected)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it '#destination_file' do
|
35
|
+
entry_double = { 'sys' => { 'id' => 'bar' } }
|
36
|
+
expected = File.join('foo', 'bar.yaml')
|
37
|
+
expect(subject.destination_file('foo', entry_double)).to eq(expected)
|
38
|
+
end
|
39
|
+
|
40
|
+
describe '#setup_directory' do
|
41
|
+
it 'default directory' do
|
42
|
+
expected = File.join(Dir.pwd, '_data', 'contentful', 'spaces')
|
43
|
+
expect(FileUtils).to receive(:mkdir_p).with(expected)
|
44
|
+
|
45
|
+
subject.setup_directory(expected)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'overridden directory' do
|
49
|
+
subject = described_class.new('foo', [], {'base_path' => 'foo_dir'})
|
50
|
+
|
51
|
+
expected = File.join(Dir.pwd, 'foo_dir', '_data', 'contentful', 'spaces')
|
52
|
+
expect(FileUtils).to receive(:mkdir_p).with(expected)
|
53
|
+
|
54
|
+
subject.setup_directory(expected)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe '#run' do
|
59
|
+
before do
|
60
|
+
allow(subject).to receive(:setup_directory)
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'does nothing with no entries' do
|
64
|
+
subject.run
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'serializes entries' do
|
68
|
+
expect_any_instance_of(::Jekyll::Contentful::Serializer).to receive(:serialize) { {} }
|
69
|
+
|
70
|
+
subject.run
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'creates a file per entry' do
|
74
|
+
subject = described_class.new('foo', [EntryDouble.new('bar', ContentTypeDouble.new('bar_ct'))])
|
75
|
+
|
76
|
+
expected_directory_path = File.join(Dir.pwd, '_data', 'contentful', 'spaces', 'foo', 'bar_ct')
|
77
|
+
expect(FileUtils).to receive(:mkdir_p).with(expected_directory_path)
|
78
|
+
expect(File).to receive(:open).with(File.join(expected_directory_path, 'bar.yaml'), 'w')
|
79
|
+
|
80
|
+
subject.run
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'stringio'
|
3
3
|
|
4
|
-
describe Jekyll::Contentful::
|
4
|
+
describe Jekyll::Contentful::SingleFileDataExporter do
|
5
5
|
subject { described_class.new('foo', []) }
|
6
6
|
|
7
7
|
describe 'instance methods' do
|
@@ -10,7 +10,7 @@ describe Jekyll::Contentful::DataExporter do
|
|
10
10
|
expect(subject.base_directory).to eq(Dir.pwd)
|
11
11
|
end
|
12
12
|
|
13
|
-
it '
|
13
|
+
it 'overridden directory' do
|
14
14
|
subject = described_class.new('foo', [], {'base_path' => 'foo_dir'})
|
15
15
|
|
16
16
|
expect(subject.base_directory).to eq(File.join(Dir.pwd, 'foo_dir'))
|
@@ -57,7 +57,7 @@ describe Jekyll::Contentful::DataExporter do
|
|
57
57
|
expected = File.join(Dir.pwd, '_data', 'contentful', 'spaces')
|
58
58
|
expect(FileUtils).to receive(:mkdir_p).with(expected)
|
59
59
|
|
60
|
-
subject.setup_directory
|
60
|
+
subject.setup_directory(expected)
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'overridden directory' do
|
@@ -66,7 +66,7 @@ describe Jekyll::Contentful::DataExporter do
|
|
66
66
|
expected = File.join(Dir.pwd, 'foo_dir', '_data', 'contentful', 'spaces')
|
67
67
|
expect(FileUtils).to receive(:mkdir_p).with(expected)
|
68
68
|
|
69
|
-
subject.setup_directory
|
69
|
+
subject.setup_directory(expected)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-contentful-data-import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Contentful GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -34,22 +34,16 @@ dependencies:
|
|
34
34
|
name: contentful
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 2.0.1
|
40
37
|
- - "~>"
|
41
38
|
- !ruby/object:Gem::Version
|
42
|
-
version: '2.
|
39
|
+
version: '2.1'
|
43
40
|
type: :runtime
|
44
41
|
prerelease: false
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
46
43
|
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 2.0.1
|
50
44
|
- - "~>"
|
51
45
|
- !ruby/object:Gem::Version
|
52
|
-
version: '2.
|
46
|
+
version: '2.1'
|
53
47
|
- !ruby/object:Gem::Dependency
|
54
48
|
name: rubygems-tasks
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -239,18 +233,21 @@ files:
|
|
239
233
|
- Rakefile
|
240
234
|
- jekyll-contentful.gemspec
|
241
235
|
- lib/jekyll-contentful-data-import.rb
|
242
|
-
- lib/jekyll-contentful-data-import/
|
236
|
+
- lib/jekyll-contentful-data-import/base_data_exporter.rb
|
243
237
|
- lib/jekyll-contentful-data-import/importer.rb
|
244
238
|
- lib/jekyll-contentful-data-import/mappers.rb
|
245
239
|
- lib/jekyll-contentful-data-import/mappers/base.rb
|
240
|
+
- lib/jekyll-contentful-data-import/multi_file_data_exporter.rb
|
246
241
|
- lib/jekyll-contentful-data-import/serializer.rb
|
242
|
+
- lib/jekyll-contentful-data-import/single_file_data_exporter.rb
|
247
243
|
- lib/jekyll-contentful-data-import/version.rb
|
248
244
|
- lib/jekyll/commands/contentful.rb
|
249
245
|
- spec/fixtures/vcr_fixtures/entries.yml
|
250
|
-
- spec/jekyll-contentful/data_exporter_spec.rb
|
251
246
|
- spec/jekyll-contentful/importer_spec.rb
|
252
247
|
- spec/jekyll-contentful/mappers/base_spec.rb
|
248
|
+
- spec/jekyll-contentful/multi_file_data_exporter_spec.rb
|
253
249
|
- spec/jekyll-contentful/serializer_spec.rb
|
250
|
+
- spec/jekyll-contentful/single_file_data_exporter_spec.rb
|
254
251
|
- spec/jekyll/commands/contentful_spec.rb
|
255
252
|
- spec/spec_helper.rb
|
256
253
|
homepage: https://www.contentful.com
|
@@ -280,9 +277,10 @@ summary: Include mangablable content from the Contentful CMS and API into your J
|
|
280
277
|
projects
|
281
278
|
test_files:
|
282
279
|
- spec/fixtures/vcr_fixtures/entries.yml
|
283
|
-
- spec/jekyll-contentful/data_exporter_spec.rb
|
284
280
|
- spec/jekyll-contentful/importer_spec.rb
|
285
281
|
- spec/jekyll-contentful/mappers/base_spec.rb
|
282
|
+
- spec/jekyll-contentful/multi_file_data_exporter_spec.rb
|
286
283
|
- spec/jekyll-contentful/serializer_spec.rb
|
284
|
+
- spec/jekyll-contentful/single_file_data_exporter_spec.rb
|
287
285
|
- spec/jekyll/commands/contentful_spec.rb
|
288
286
|
- spec/spec_helper.rb
|