algoliasearch-jekyll 0.5.3 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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