jekyll-contentful-data-import 1.6.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6240e01bd316ec09f91d3ec93de0886cb6b550fb
4
- data.tar.gz: a77e6bb3f7234b2d7aec8816251a23c627a27db7
2
+ SHA256:
3
+ metadata.gz: 37c1c1b1bddb8164bcc950d2e370ae3e15327c44c5d4c34cbd5f7b38429414d7
4
+ data.tar.gz: c5aed758e4839abb2bc8dfe08ba883cd437d7c0c1c908b44a6362d35e84cac54
5
5
  SHA512:
6
- metadata.gz: 479b3306559697cd362e4a371365c671b644c00f62cecc82d8eb3207a542fc999d547f800f421e3603fdea1b4107079233b42db81318ebfcacab93f5c9db07ca
7
- data.tar.gz: 7cbae4efc303ff3b88cfa62227ad4c19ec828db56eab9f84424d084cad8d5eaa66ea066e1db89beb842acf52a1286f12cdebdf8f5f6da5eac77fe631f6aecfd9
6
+ metadata.gz: 3ceb1ae089f35241ff5b64a7069d5e00f0c13d890ca0608f2b63a2f0e20f110c013024893a629c4f1b1c7440169830365d234365ed76eae8535671bcdace34b4
7
+ data.tar.gz: d11c17b6f0a9479fe7e036bc424eb14b8b542764c9ce354e730db94f62859356b5feee21bdd55433c59884d27fdcf6a642c6994b81f1d32351b14917ea629015
@@ -1,8 +1,7 @@
1
1
  rvm:
2
- - 2.0.0
3
- - 2.1.2
4
- - 2.2.3
5
- - jruby
2
+ - 2.3.1
3
+ - 2.4.0
4
+ - 2.5.1
6
5
 
7
6
  script: "bundle exec rake test"
8
7
 
@@ -12,7 +11,3 @@ env: TEST=true JRUBY_OPTS='--2.0'
12
11
  notifications:
13
12
  slack:
14
13
  secure: MMWxqKMT4m2UhZ+Ix4wgCs1nLvu9hUFCbyV/qJWmIFif7V4GUKXi6h9krMqGqBAd3YV3pP/InPlw3QoKBUGIAIr5GzDpSnU5ACv7E61v548qViEvPBqsfhRHha2M164rUHn32tpejJnIizVUyND/hIzNviIrab+G8uOaZXUtB5I=
15
-
16
- matrix:
17
- allow_failures:
18
- - rvm: jruby
@@ -2,8 +2,11 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ## 1.6.0
5
+ ## v1.7.0
6
+ ### Added
7
+ * Added top-level environment assignment, with support for `ENV_` access [#61](https://github.com/contentful/jekyll-contentful-data-import/issues/61)
6
8
 
9
+ ## v1.6.0
7
10
  ### Added
8
11
  * 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
12
  * Added User Agent Integration Headers
data/README.md CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/contentful/jekyll-contentful-data-import.svg?branch=master)](https://travis-ci.org/contentful/jekyll-contentful-data-import)
4
4
 
5
- Jekyll-Contentful-Data-Import is a [Jekyll](http://jekyllrb.com/) extension to use the Jekyll static site generator together with the API-driven [Contentful CMS](https://www.contentful.com). It is powered by the [Contentful Ruby Gem](https://github.com/contentful/contentful.rb).
5
+ [Contentful](https://www.contentful.com) provides a content infrastructure for digital teams to power content in websites, apps, and devices. Unlike a CMS, Contentful was built to integrate with the modern software stack. It offers a central hub for structured content, powerful management and delivery APIs, and a customizable web app that enable developers and content creators to ship digital products faster.
6
+
7
+ Jekyll-Contentful-Data-Import is a [Jekyll](http://jekyllrb.com/) extension to use the Jekyll static site generator together with [Contentful](https://www.contentful.com). It is powered by the [Contentful Ruby Gem](https://github.com/contentful/contentful.rb).
6
8
 
7
9
  Experience the power of Jekyll while staying sane as a developer by letting end-users edit content in a web-based interface.
8
10
 
@@ -44,6 +46,7 @@ contentful:
44
46
  - example: # Jekyll _data folder identifier - Required
45
47
  space: cfexampleapi # Required
46
48
  access_token: b4c0n73n7fu1 # Required
49
+ environment: master # Optional
47
50
  cda_query: # Optional
48
51
  include: 2
49
52
  limit: 100
@@ -53,6 +56,7 @@ contentful:
53
56
  cat: MyCoolMapper
54
57
  client_options: # Optional
55
58
  api_url: 'preview.contentful.com' # Defaults to 'api.contentful.com' which is Production
59
+ max_include_resolution_depth: 5 # Optional - Defaults to 20, maximum amount of levels to resolve includes
56
60
  base_path: app_path # Optional - Defaults to Current directory
57
61
  destination: destination_in_data # Optional - Defaults to _data/contentful/spaces
58
62
  individual_entry_files: true # Optional - Defaults to false
@@ -62,6 +66,7 @@ Parameter | Description
62
66
  ---------- | ------------
63
67
  space | Contentful Space ID
64
68
  access_token | Contentful Delivery API access token
69
+ environment | Space environment, defaults to `master`
65
70
  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
71
  all_entries | Boolean, if true will run multiple queries to the API until it fetches all entries for the space
67
72
  all_entries_page_size | Integer, the amount of maximum entries per CDA Request when fetching :all_entries
@@ -135,15 +140,17 @@ therefore you can do the following:
135
140
  - example:
136
141
  space: ENV_CONTENTFUL_SPACE_ID
137
142
  access_token: ENV_CONTENTFUL_ACCESS_TOKEN
143
+ environment: ENV_CONTENTFUL_ENVIRONMENT
138
144
  ```
139
145
 
140
- (Your Space ID will be looked upon on `ENV['CONTENTFUL_SPACE_ID']` and your Access Token on `ENV['CONTENTFUL_ACCESS_TOKEN']`.)
146
+ (Your Space ID will be looked upon on `ENV['CONTENTFUL_SPACE_ID']`, your Access Token on `ENV['CONTENTFUL_ACCESS_TOKEN']` and your environment on `ENV['CONTENTFUL_ENVIRONMENT']`.)
141
147
 
142
148
  3. Either add the following variables to your shell's configuration file (.bashrc or .bash_profile, for example):
143
149
 
144
150
  ```bash
145
151
  export CONTENTFUL_ACCESS_TOKEN=abc123
146
152
  export CONTENTFUL_SPACE_ID=abc123
153
+ export CONTENTFUL_ENVIRONMENT=master
147
154
  ```
148
155
 
149
156
  (And run `source ~/.bashrc` or open new terminal to enable changes.)
@@ -151,7 +158,7 @@ therefore you can do the following:
151
158
  Or specify them on the command line:
152
159
 
153
160
  ```bash
154
- CONTENTFUL_ACCESS_TOKEN=abc123 CONTENTFUL_SPACE_ID=abc123 jekyll contentful
161
+ CONTENTFUL_ACCESS_TOKEN=abc123 CONTENTFUL_SPACE_ID=abc123 CONTENTFUL_ENVIRONMENT=master jekyll contentful
155
162
  ```
156
163
 
157
164
  4. Party.
@@ -1,5 +1,5 @@
1
1
  require 'jekyll-contentful-data-import/version'
2
2
 
3
- %w(contentful).each do |file|
3
+ %w[contentful].each do |file|
4
4
  require File.expand_path("jekyll/commands/#{file}.rb", File.dirname(__FILE__))
5
5
  end
@@ -19,6 +19,7 @@ module Jekyll
19
19
  space_client = client(
20
20
  value_for(options, 'space'),
21
21
  value_for(options, 'access_token'),
22
+ value_for(options, 'environment'),
22
23
  client_options(options.fetch('client_options', {}))
23
24
  )
24
25
 
@@ -62,7 +63,7 @@ module Jekyll
62
63
 
63
64
  def value_for(options, key)
64
65
  potential_value = options[key]
65
- return ENV[potential_value.gsub('ENV_', '')] if potential_value.start_with?('ENV_')
66
+ return ENV[potential_value.gsub('ENV_', '')] if !potential_value.nil? && potential_value.start_with?('ENV_')
66
67
  potential_value
67
68
  end
68
69
 
@@ -90,10 +91,11 @@ module Jekyll
90
91
  all
91
92
  end
92
93
 
93
- def client(space, access_token, options = {})
94
+ def client(space, access_token, environment = nil, options = {})
94
95
  options = {
95
96
  space: space,
96
97
  access_token: access_token,
98
+ environment: environment || 'master',
97
99
  dynamic_entries: :auto,
98
100
  raise_errors: true,
99
101
  integration_name: 'jekyll',
@@ -33,7 +33,8 @@ module Jekyll
33
33
  'id' => entry.sys.fetch(:id, nil),
34
34
  'created_at' => entry.sys.fetch(:created_at, nil),
35
35
  'updated_at' => entry.sys.fetch(:updated_at, nil),
36
- 'content_type_id' => content_type.nil? ? nil : content_type.id
36
+ 'content_type_id' => content_type.nil? ? nil : content_type.id,
37
+ 'revision' => entry.sys.fetch(:revision, nil)
37
38
  }
38
39
  end
39
40
 
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module Contentful
3
- VERSION = '1.6.0'.freeze
3
+ VERSION = '1.7.0'.freeze
4
4
  end
5
5
  end
@@ -45,6 +45,7 @@ describe Jekyll::Contentful::Importer do
45
45
  expect(::Contentful::Client).to receive(:new).with(
46
46
  space: 'foo',
47
47
  access_token: 'foobar',
48
+ environment: 'master',
48
49
  dynamic_entries: :auto,
49
50
  raise_errors: true,
50
51
  integration_name: 'jekyll',
@@ -58,13 +59,14 @@ describe Jekyll::Contentful::Importer do
58
59
  expect(::Contentful::Client).to receive(:new).with(
59
60
  space: 'foo',
60
61
  access_token: 'foobar',
62
+ environment: 'master',
61
63
  dynamic_entries: :auto,
62
64
  raise_errors: false,
63
65
  integration_name: 'jekyll',
64
66
  integration_version: Jekyll::Contentful::VERSION
65
67
  )
66
68
 
67
- subject.client('foo', 'foobar', raise_errors: false)
69
+ subject.client('foo', 'foobar', 'master', raise_errors: false)
68
70
  end
69
71
  end
70
72
 
@@ -83,7 +83,8 @@ describe Jekyll::Contentful::Mappers::Base do
83
83
  'id' => 'foo',
84
84
  'created_at' => nil,
85
85
  'updated_at' => nil,
86
- 'content_type_id' => 'content_type'
86
+ 'content_type_id' => 'content_type',
87
+ 'revision' => nil
87
88
  }
88
89
  }
89
90
  expect(subject.map).to eq expected
@@ -109,7 +110,8 @@ describe Jekyll::Contentful::Mappers::Base do
109
110
  'id' => 'foo',
110
111
  'created_at' => nil,
111
112
  'updated_at' => nil,
112
- 'content_type_id' => 'content_type'
113
+ 'content_type_id' => 'content_type',
114
+ 'revision' => nil
113
115
  },
114
116
  'asset' => {
115
117
  'sys' => {
@@ -133,7 +135,8 @@ describe Jekyll::Contentful::Mappers::Base do
133
135
  'id' => 'baz',
134
136
  'created_at' => nil,
135
137
  'updated_at' => nil,
136
- 'content_type_id' => 'content_type'
138
+ 'content_type_id' => 'content_type',
139
+ 'revision' => nil
137
140
  },
138
141
  },
139
142
  'array' => [
@@ -164,7 +167,8 @@ describe Jekyll::Contentful::Mappers::Base do
164
167
  'id' => 'foo',
165
168
  'created_at' => nil,
166
169
  'updated_at' => nil,
167
- 'content_type_id' => 'content_type'
170
+ 'content_type_id' => 'content_type',
171
+ 'revision' => nil
168
172
  },
169
173
  'foo' => {
170
174
  'en-US' => 'bar',
@@ -201,7 +205,8 @@ describe Jekyll::Contentful::Mappers::Base do
201
205
  'id' => 'foo',
202
206
  'created_at' => nil,
203
207
  'updated_at' => nil,
204
- 'content_type_id' => 'content_type'
208
+ 'content_type_id' => 'content_type',
209
+ 'revision' => nil
205
210
  },
206
211
  'asset' => {
207
212
  "en-US" => {
@@ -30,7 +30,8 @@ describe Jekyll::Contentful::Serializer do
30
30
  'id' => 'foo',
31
31
  'created_at' => nil,
32
32
  'updated_at' => nil,
33
- 'content_type_id' => 'content_type'
33
+ 'content_type_id' => 'content_type',
34
+ 'revision' => nil
34
35
  }
35
36
  }
36
37
  ]
@@ -48,7 +49,8 @@ describe Jekyll::Contentful::Serializer do
48
49
  'id' => 'foo',
49
50
  'created_at' => nil,
50
51
  'updated_at' => nil,
51
- 'content_type_id' => 'content_type'
52
+ 'content_type_id' => 'content_type',
53
+ 'revision' => nil
52
54
  },
53
55
  'foobar' => 'bar'
54
56
  }
@@ -73,14 +75,16 @@ describe Jekyll::Contentful::Serializer do
73
75
  'id' => 'foo',
74
76
  'created_at' => nil,
75
77
  'updated_at' => nil,
76
- 'content_type_id' => 'content_type'
78
+ 'content_type_id' => 'content_type',
79
+ 'revision' => nil
77
80
  },
78
81
  'foobar' => {
79
82
  'sys' => {
80
83
  'id' => 'foobar',
81
84
  'created_at' => nil,
82
85
  'updated_at' => nil,
83
- 'content_type_id' => 'content_type'
86
+ 'content_type_id' => 'content_type',
87
+ 'revision' => nil
84
88
  },
85
89
  'baz' => 1
86
90
  }
@@ -103,7 +107,8 @@ describe Jekyll::Contentful::Serializer do
103
107
  'id' => 'foo',
104
108
  'created_at' => nil,
105
109
  'updated_at' => nil,
106
- 'content_type_id' => 'content_type'
110
+ 'content_type_id' => 'content_type',
111
+ 'revision' => nil
107
112
  },
108
113
  'foobar' => 'bar'
109
114
  },
@@ -112,7 +117,8 @@ describe Jekyll::Contentful::Serializer do
112
117
  'id' => 'bar',
113
118
  'created_at' => nil,
114
119
  'updated_at' => nil,
115
- 'content_type_id' => 'content_type'
120
+ 'content_type_id' => 'content_type',
121
+ 'revision' => nil
116
122
  },
117
123
  'foobar' => 'baz'
118
124
  }
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.6.0
4
+ version: 1.7.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-06-19 00:00:00.000000000 Z
11
+ date: 2018-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -270,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
270
  version: '0'
271
271
  requirements: []
272
272
  rubyforge_project:
273
- rubygems_version: 2.5.1
273
+ rubygems_version: 2.7.6
274
274
  signing_key:
275
275
  specification_version: 4
276
276
  summary: Include mangablable content from the Contentful CMS and API into your Jekyll