algoliasearch-jekyll 0.5.3 → 0.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/.travis.yml +4 -0
- data/Appraisals +8 -0
- data/CONTRIBUTING.md +15 -7
- data/Gemfile +1 -1
- data/Guardfile +14 -4
- data/README.md +1 -1
- data/algoliasearch-jekyll.gemspec +46 -33
- data/gemfiles/jekyll_v2.gemfile +21 -0
- data/gemfiles/jekyll_v3.gemfile +22 -0
- data/lib/record_extractor.rb +30 -12
- data/lib/version.rb +1 -1
- data/scripts/git_hooks/pre-push +1 -1
- data/scripts/test +4 -0
- data/scripts/test_ci +7 -0
- data/scripts/test_v2 +5 -0
- data/scripts/test_v3 +6 -0
- data/scripts/watch +4 -0
- data/scripts/watch_v2 +4 -0
- data/scripts/watch_v3 +4 -0
- data/spec/credential_checker_spec.rb +1 -1
- data/spec/fixtures/{_config.yml → jekyll_version_2/_config.yml} +4 -0
- data/spec/fixtures/{_layouts → jekyll_version_2/_layouts}/default.html +0 -0
- data/spec/fixtures/{_my-collection → jekyll_version_2/_my-collection}/collection-item.html +0 -0
- data/spec/fixtures/{_my-collection → jekyll_version_2/_my-collection}/collection-item.md +0 -0
- data/spec/fixtures/{_posts → jekyll_version_2/_posts}/2015-07-02-test-post.md +0 -0
- data/spec/fixtures/{_posts → jekyll_version_2/_posts}/2015-07-03-test-post-again.md +0 -0
- data/spec/fixtures/{about.md → jekyll_version_2/about.md} +0 -0
- data/spec/fixtures/{api_key_dir → jekyll_version_2/api_key_dir}/_algolia_api_key +0 -0
- data/spec/fixtures/{_site → jekyll_version_2}/assets/ring.png +0 -0
- data/spec/fixtures/{authors.html → jekyll_version_2/authors.html} +0 -0
- data/spec/fixtures/{excluded.html → jekyll_version_2/excluded.html} +0 -0
- data/spec/fixtures/{hierarchy.md → jekyll_version_2/hierarchy.md} +0 -0
- data/spec/fixtures/{index.html → jekyll_version_2/index.html} +0 -0
- data/spec/fixtures/{page2 → jekyll_version_2/page2}/index.html +0 -0
- data/spec/fixtures/{weight.md → jekyll_version_2/weight.md} +0 -0
- data/spec/fixtures/jekyll_version_3/_config.yml +17 -0
- data/spec/fixtures/jekyll_version_3/_layouts/default.html +6 -0
- data/spec/fixtures/{_site/my-collection → jekyll_version_3/_my-collection}/collection-item.html +5 -1
- data/spec/fixtures/jekyll_version_3/_my-collection/collection-item.md +7 -0
- data/spec/fixtures/jekyll_version_3/_posts/2015-07-02-test-post.md +32 -0
- data/spec/fixtures/jekyll_version_3/_posts/2015-07-03-test-post-again.md +7 -0
- data/spec/fixtures/jekyll_version_3/about.md +34 -0
- data/spec/fixtures/jekyll_version_3/api_key_dir/_algolia_api_key +1 -0
- data/spec/fixtures/{assets → jekyll_version_3/assets}/ring.png +0 -0
- data/spec/fixtures/{_site → jekyll_version_3}/authors.html +4 -0
- data/spec/fixtures/{_site → jekyll_version_3}/excluded.html +4 -0
- data/spec/fixtures/jekyll_version_3/hierarchy.md +35 -0
- data/spec/fixtures/jekyll_version_3/index.html +13 -0
- data/spec/fixtures/jekyll_version_3/page2/index.html +6 -0
- data/spec/fixtures/jekyll_version_3/weight.md +19 -0
- data/spec/record_extractor_spec.rb +131 -5
- data/spec/spec_helper.rb +47 -26
- metadata +56 -43
- data/spec/fixtures/_site/2015/07/02/test-post.html +0 -26
- data/spec/fixtures/_site/2015/07/03/test-post-again.html +0 -3
- data/spec/fixtures/_site/about.html +0 -31
- data/spec/fixtures/_site/hierarchy.html +0 -31
- data/spec/fixtures/_site/index.html +0 -17
- data/spec/fixtures/_site/page2/index.html +0 -40
- data/spec/fixtures/_site/weight.html +0 -15
- data/spec/spec_helper_jekyll.rb +0 -4
data/spec/spec_helper.rb
CHANGED
@@ -4,40 +4,61 @@ if ENV['TRAVIS']
|
|
4
4
|
end
|
5
5
|
|
6
6
|
require 'awesome_print'
|
7
|
-
|
7
|
+
require 'jekyll'
|
8
8
|
require_relative './spec_helper_simplecov.rb'
|
9
9
|
require './lib/push.rb'
|
10
10
|
|
11
11
|
RSpec.configure do |config|
|
12
12
|
config.filter_run(focus: true)
|
13
13
|
config.run_all_when_everything_filtered = true
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
)
|
26
|
-
config = Jekyll.configuration(config)
|
27
|
-
|
28
|
-
site = AlgoliaSearchJekyllPush.init_options({}, options, config)
|
29
|
-
.jekyll_new(config)
|
30
|
-
|
31
|
-
def site.file_by_name(file_name)
|
32
|
-
each_site_file do |file|
|
33
|
-
return file if file.path =~ /#{file_name}$/
|
34
|
-
end
|
35
|
-
nil
|
36
|
-
end
|
16
|
+
# Disabling the logs
|
17
|
+
Jekyll.logger.log_level = :error
|
18
|
+
|
19
|
+
# Create a Jekyll::Site instance, patched with a `file_by_name` method
|
20
|
+
def get_site(config = {}, options = {})
|
21
|
+
default_options = {
|
22
|
+
mock_write_method: true,
|
23
|
+
process: true
|
24
|
+
}
|
25
|
+
options = default_options.merge(options)
|
37
26
|
|
38
|
-
|
27
|
+
config = config.merge(
|
28
|
+
source: fixture_path
|
29
|
+
)
|
30
|
+
config = Jekyll.configuration(config)
|
39
31
|
|
40
|
-
|
41
|
-
|
32
|
+
site = AlgoliaSearchJekyllPush.init_options({}, options, config)
|
33
|
+
.jekyll_new(config)
|
34
|
+
|
35
|
+
def site.file_by_name(file_name)
|
36
|
+
each_site_file do |file|
|
37
|
+
return file if file.path =~ /#{file_name}$/
|
38
|
+
end
|
39
|
+
nil
|
42
40
|
end
|
41
|
+
|
42
|
+
allow(site).to receive(:write) if options[:mock_write_method]
|
43
|
+
|
44
|
+
site.process if options[:process]
|
45
|
+
site
|
46
|
+
end
|
47
|
+
|
48
|
+
# Return the fixture path, according to the current Jekyll version being tested
|
49
|
+
def fixture_path
|
50
|
+
jekyll_version = Jekyll::VERSION[0]
|
51
|
+
fixture_path = "./spec/fixtures/jekyll_version_#{jekyll_version}"
|
52
|
+
File.expand_path(fixture_path)
|
53
|
+
end
|
54
|
+
|
55
|
+
# Check the current Jekyll version
|
56
|
+
def restrict_jekyll_version(more_than: nil, less_than: nil)
|
57
|
+
jekyll_version = Gem::Version.new(Jekyll::VERSION)
|
58
|
+
minimum_version = Gem::Version.new(more_than)
|
59
|
+
maximum_version = Gem::Version.new(less_than)
|
60
|
+
|
61
|
+
return false if !more_than.nil? && jekyll_version < minimum_version
|
62
|
+
return false if !less_than.nil? && jekyll_version > maximum_version
|
63
|
+
true
|
43
64
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: algoliasearch-jekyll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Carry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: algoliasearch
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: appraisal
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.1.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 2.1.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: awesome_print
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,20 +136,6 @@ dependencies:
|
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '4.6'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: jekyll
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '2.5'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '2.5'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: jeweler
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -205,6 +205,7 @@ files:
|
|
205
205
|
- ".rspec"
|
206
206
|
- ".rubocop.yml"
|
207
207
|
- ".travis.yml"
|
208
|
+
- Appraisals
|
208
209
|
- CONTRIBUTING.md
|
209
210
|
- Gemfile
|
210
211
|
- Guardfile
|
@@ -213,6 +214,8 @@ files:
|
|
213
214
|
- Rakefile
|
214
215
|
- algoliasearch-jekyll.gemspec
|
215
216
|
- docs/travis-settings.png
|
217
|
+
- gemfiles/jekyll_v2.gemfile
|
218
|
+
- gemfiles/jekyll_v3.gemfile
|
216
219
|
- lib/algoliasearch-jekyll.rb
|
217
220
|
- lib/credential_checker.rb
|
218
221
|
- lib/push.rb
|
@@ -224,37 +227,47 @@ files:
|
|
224
227
|
- scripts/git_hooks/pre-commit
|
225
228
|
- scripts/git_hooks/pre-push
|
226
229
|
- scripts/release
|
230
|
+
- scripts/test
|
231
|
+
- scripts/test_ci
|
232
|
+
- scripts/test_v2
|
233
|
+
- scripts/test_v3
|
234
|
+
- scripts/watch
|
235
|
+
- scripts/watch_v2
|
236
|
+
- scripts/watch_v3
|
227
237
|
- spec/credential_checker_spec.rb
|
228
|
-
- spec/fixtures/_config.yml
|
229
|
-
- spec/fixtures/_layouts/default.html
|
230
|
-
- spec/fixtures/_my-collection/collection-item.html
|
231
|
-
- spec/fixtures/_my-collection/collection-item.md
|
232
|
-
- spec/fixtures/_posts/2015-07-02-test-post.md
|
233
|
-
- spec/fixtures/_posts/2015-07-03-test-post-again.md
|
234
|
-
- spec/fixtures/
|
235
|
-
- spec/fixtures/
|
236
|
-
- spec/fixtures/
|
237
|
-
- spec/fixtures/
|
238
|
-
- spec/fixtures/
|
239
|
-
- spec/fixtures/
|
240
|
-
- spec/fixtures/
|
241
|
-
- spec/fixtures/
|
242
|
-
- spec/fixtures/
|
243
|
-
- spec/fixtures/
|
244
|
-
- spec/fixtures/
|
245
|
-
- spec/fixtures/
|
246
|
-
- spec/fixtures/
|
247
|
-
- spec/fixtures/
|
248
|
-
- spec/fixtures/
|
249
|
-
- spec/fixtures/
|
250
|
-
- spec/fixtures/
|
251
|
-
- spec/fixtures/
|
252
|
-
- spec/fixtures/
|
253
|
-
- spec/fixtures/
|
238
|
+
- spec/fixtures/jekyll_version_2/_config.yml
|
239
|
+
- spec/fixtures/jekyll_version_2/_layouts/default.html
|
240
|
+
- spec/fixtures/jekyll_version_2/_my-collection/collection-item.html
|
241
|
+
- spec/fixtures/jekyll_version_2/_my-collection/collection-item.md
|
242
|
+
- spec/fixtures/jekyll_version_2/_posts/2015-07-02-test-post.md
|
243
|
+
- spec/fixtures/jekyll_version_2/_posts/2015-07-03-test-post-again.md
|
244
|
+
- spec/fixtures/jekyll_version_2/about.md
|
245
|
+
- spec/fixtures/jekyll_version_2/api_key_dir/_algolia_api_key
|
246
|
+
- spec/fixtures/jekyll_version_2/assets/ring.png
|
247
|
+
- spec/fixtures/jekyll_version_2/authors.html
|
248
|
+
- spec/fixtures/jekyll_version_2/excluded.html
|
249
|
+
- spec/fixtures/jekyll_version_2/hierarchy.md
|
250
|
+
- spec/fixtures/jekyll_version_2/index.html
|
251
|
+
- spec/fixtures/jekyll_version_2/page2/index.html
|
252
|
+
- spec/fixtures/jekyll_version_2/weight.md
|
253
|
+
- spec/fixtures/jekyll_version_3/_config.yml
|
254
|
+
- spec/fixtures/jekyll_version_3/_layouts/default.html
|
255
|
+
- spec/fixtures/jekyll_version_3/_my-collection/collection-item.html
|
256
|
+
- spec/fixtures/jekyll_version_3/_my-collection/collection-item.md
|
257
|
+
- spec/fixtures/jekyll_version_3/_posts/2015-07-02-test-post.md
|
258
|
+
- spec/fixtures/jekyll_version_3/_posts/2015-07-03-test-post-again.md
|
259
|
+
- spec/fixtures/jekyll_version_3/about.md
|
260
|
+
- spec/fixtures/jekyll_version_3/api_key_dir/_algolia_api_key
|
261
|
+
- spec/fixtures/jekyll_version_3/assets/ring.png
|
262
|
+
- spec/fixtures/jekyll_version_3/authors.html
|
263
|
+
- spec/fixtures/jekyll_version_3/excluded.html
|
264
|
+
- spec/fixtures/jekyll_version_3/hierarchy.md
|
265
|
+
- spec/fixtures/jekyll_version_3/index.html
|
266
|
+
- spec/fixtures/jekyll_version_3/page2/index.html
|
267
|
+
- spec/fixtures/jekyll_version_3/weight.md
|
254
268
|
- spec/push_spec.rb
|
255
269
|
- spec/record_extractor_spec.rb
|
256
270
|
- spec/spec_helper.rb
|
257
|
-
- spec/spec_helper_jekyll.rb
|
258
271
|
- spec/spec_helper_simplecov.rb
|
259
272
|
- txt/api_key_missing
|
260
273
|
- txt/application_id_missing
|
@@ -1,26 +0,0 @@
|
|
1
|
-
<p>Introduction text that also includes <a href="https://www.algolia.com">some link</a>. To
|
2
|
-
add a bit of fancy, we will also <strong>bold</strong> and <em>italicize</em> some text.</p>
|
3
|
-
|
4
|
-
<h1 id="main-title">Main title</h1>
|
5
|
-
|
6
|
-
<p>We like writing stuff and then indexing it in a very fast engine. Here is why
|
7
|
-
a fast engine is good for you:</p>
|
8
|
-
|
9
|
-
<ul>
|
10
|
-
<li>fast</li>
|
11
|
-
<li>fast</li>
|
12
|
-
<li>fast</li>
|
13
|
-
<li>and fast</li>
|
14
|
-
</ul>
|
15
|
-
|
16
|
-
<h2 id="built-with-hands">Built with hands</h2>
|
17
|
-
|
18
|
-
<p>All this text was typed with my own hands, on my own keyboard. I also did use
|
19
|
-
a Chair© and a Table™.</p>
|
20
|
-
|
21
|
-
<h2 id="features">Features</h2>
|
22
|
-
|
23
|
-
<p>The whole plugin is composed of parts of <code>code</code>, and sometime even
|
24
|
-
<code><code></code>.</p>
|
25
|
-
|
26
|
-
<p>Code is <strong>✔ checked</strong> and errors are <strong>✘ deleted</strong>.</p>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<h1 id="heading-1">Heading 1</h1>
|
2
|
-
|
3
|
-
<p>Text 1</p>
|
4
|
-
|
5
|
-
<h2 id="heading-2">Heading 2</h2>
|
6
|
-
|
7
|
-
<p>Text 2</p>
|
8
|
-
|
9
|
-
<h3 id="heading-3">Heading 3</h3>
|
10
|
-
|
11
|
-
<p>Text 3</p>
|
12
|
-
|
13
|
-
<ul>
|
14
|
-
<li>item 1</li>
|
15
|
-
<li>item 2</li>
|
16
|
-
<li>item 3</li>
|
17
|
-
</ul>
|
18
|
-
|
19
|
-
<h3 id="another-heading-3">Another Heading 3</h3>
|
20
|
-
|
21
|
-
<p id="text4">Another text 4</p>
|
22
|
-
|
23
|
-
<h2 id="heading2b">Another Heading 2</h2>
|
24
|
-
|
25
|
-
<p>Another <code><text></code> 5</p>
|
26
|
-
|
27
|
-
<h3 id="last-heading-3">Last Heading 3</h3>
|
28
|
-
|
29
|
-
<div>Just a div</div>
|
30
|
-
|
31
|
-
<div><p>Last text 6 </p></div>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<h1 id="h1">H1</h1>
|
2
|
-
|
3
|
-
<p>TEXT1-H1</p>
|
4
|
-
|
5
|
-
<h2 id="h2a">H2A</h2>
|
6
|
-
|
7
|
-
<p>TEXT2-H2A-H1</p>
|
8
|
-
|
9
|
-
<p>TEXT3-H2A-H1</p>
|
10
|
-
|
11
|
-
<h2 id="h2b">H2B</h2>
|
12
|
-
|
13
|
-
<p>TEXT4-H2B-H1</p>
|
14
|
-
|
15
|
-
<h3 id="h3a">H3A</h3>
|
16
|
-
|
17
|
-
<p>TEXT5-H3-H2B-H1</p>
|
18
|
-
|
19
|
-
<div>
|
20
|
-
<h4>H4</h4>
|
21
|
-
<p>TEXT7-H4-H3-H2B-H1</p>
|
22
|
-
</div>
|
23
|
-
|
24
|
-
<h2 id="h2c">H2C</h2>
|
25
|
-
|
26
|
-
<p>TEXT8-H2C-H1</p>
|
27
|
-
|
28
|
-
<h3 id="h3b-code">H3B <code><code></code></h3>
|
29
|
-
|
30
|
-
<p>TEXT9-H3B-H2C-H1</p>
|
31
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en-us">
|
3
|
-
<body>
|
4
|
-
This default index page is used to display the paginated posts
|
5
|
-
|
6
|
-
|
7
|
-
<a href="/2015/07/03/test-post-again.html">
|
8
|
-
Test post again
|
9
|
-
</a>
|
10
|
-
<p>The goal of this post is simply to trigger pagination, and see that we do not
|
11
|
-
index the pagination results.</p>
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
</body>
|
17
|
-
</html>
|
@@ -1,40 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en-us">
|
3
|
-
<body>
|
4
|
-
This default index page is used to display the paginated posts
|
5
|
-
|
6
|
-
|
7
|
-
<a href="/2015/07/02/test-post.html">
|
8
|
-
Test post
|
9
|
-
</a>
|
10
|
-
<p>Introduction text that also includes <a href="https://www.algolia.com">some link</a>. To
|
11
|
-
add a bit of fancy, we will also <strong>bold</strong> and <em>italicize</em> some text.</p>
|
12
|
-
|
13
|
-
<h1 id="main-title">Main title</h1>
|
14
|
-
|
15
|
-
<p>We like writing stuff and then indexing it in a very fast engine. Here is why
|
16
|
-
a fast engine is good for you:</p>
|
17
|
-
|
18
|
-
<ul>
|
19
|
-
<li>fast</li>
|
20
|
-
<li>fast</li>
|
21
|
-
<li>fast</li>
|
22
|
-
<li>and fast</li>
|
23
|
-
</ul>
|
24
|
-
|
25
|
-
<h2 id="built-with-hands">Built with hands</h2>
|
26
|
-
|
27
|
-
<p>All this text was typed with my own hands, on my own keyboard. I also did use
|
28
|
-
a Chair© and a Table™.</p>
|
29
|
-
|
30
|
-
<h2 id="features">Features</h2>
|
31
|
-
|
32
|
-
<p>The whole plugin is composed of parts of <code>code</code>, and sometime even
|
33
|
-
<code><code></code>.</p>
|
34
|
-
|
35
|
-
<p>Code is <strong>✔ checked</strong> and errors are <strong>✘ deleted</strong>.</p>
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
</body>
|
40
|
-
</html>
|
data/spec/spec_helper_jekyll.rb
DELETED