algoliasearch-jekyll 0.9.1 → 1.0.0.beta.pre.1
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 +3 -4
- data/CONTRIBUTING.md +8 -1
- data/Gemfile +4 -5
- data/README.md +318 -11
- data/Rakefile +7 -12
- data/algoliasearch-jekyll.gemspec +66 -62
- data/gemfiles/jekyll_v2.gemfile +3 -3
- data/gemfiles/jekyll_v3.gemfile +4 -4
- data/gemfiles/jekyll_v3_1_3.gemfile +24 -0
- data/gemfiles/jekyll_v3_1_6.gemfile +24 -0
- data/lib/algoliasearch-jekyll.rb +1 -3
- data/lib/credential_checker.rb +2 -1
- data/lib/error_handler.rb +6 -0
- data/lib/push.rb +81 -19
- data/lib/record_extractor.rb +120 -140
- data/lib/utils.rb +13 -0
- data/lib/version.rb +1 -1
- data/scripts/release +13 -12
- data/scripts/test_v3 +1 -1
- data/scripts/watch +4 -0
- data/spec/error_handler_spec.rb +17 -0
- data/spec/fixtures/jekyll_version_2/404.html +8 -0
- data/spec/fixtures/jekyll_version_2/404.md +9 -0
- data/spec/fixtures/jekyll_version_2/_my-collection/collection-item.md +3 -0
- data/spec/fixtures/jekyll_version_2/_posts/2015-07-02-test-post.md +1 -1
- data/spec/fixtures/jekyll_version_2/about.md +3 -0
- data/spec/fixtures/jekyll_version_2/front_matter.md +15 -0
- data/spec/fixtures/jekyll_version_2/index.html +3 -1
- data/spec/fixtures/jekyll_version_2/only-divs.md +15 -0
- data/spec/fixtures/jekyll_version_2/only-paragraphs.md +15 -0
- data/spec/fixtures/jekyll_version_3/404.html +8 -0
- data/spec/fixtures/jekyll_version_3/404.md +9 -0
- data/spec/fixtures/jekyll_version_3/_config.yml +1 -1
- data/spec/fixtures/jekyll_version_3/_my-collection/collection-item.md +3 -0
- data/spec/fixtures/jekyll_version_3/_posts/2015-07-02-test-post.md +1 -1
- data/spec/fixtures/jekyll_version_3/about.md +3 -0
- data/spec/fixtures/jekyll_version_3/front_matter.md +15 -0
- data/spec/fixtures/jekyll_version_3/index.html +4 -1
- data/spec/fixtures/jekyll_version_3/only-divs.md +15 -0
- data/spec/fixtures/jekyll_version_3/only-paragraphs.md +15 -0
- data/spec/push_spec.rb +211 -8
- data/spec/record_extractor_spec.rb +296 -358
- data/spec/spec_helper.rb +32 -11
- data/txt/record_too_big +19 -0
- metadata +40 -51
- data/scripts/watch +0 -1
data/spec/spec_helper.rb
CHANGED
@@ -7,6 +7,7 @@ require 'awesome_print'
|
|
7
7
|
require 'jekyll'
|
8
8
|
require_relative './spec_helper_simplecov.rb'
|
9
9
|
require './lib/push.rb'
|
10
|
+
require './lib/utils.rb'
|
10
11
|
|
11
12
|
RSpec.configure do |config|
|
12
13
|
config.filter_run(focus: true)
|
@@ -14,9 +15,6 @@ RSpec.configure do |config|
|
|
14
15
|
config.run_all_when_everything_filtered = true
|
15
16
|
end
|
16
17
|
|
17
|
-
# Disabling the logs
|
18
|
-
Jekyll.logger.log_level = :error
|
19
|
-
|
20
18
|
# Create a Jekyll::Site instance, patched with a `file_by_name` method
|
21
19
|
def get_site(config = {}, options = {})
|
22
20
|
default_options = {
|
@@ -34,9 +32,24 @@ def get_site(config = {}, options = {})
|
|
34
32
|
.jekyll_new(config)
|
35
33
|
|
36
34
|
def site.file_by_name(file_name)
|
35
|
+
files = {}
|
36
|
+
|
37
|
+
# We get the list of all classic files
|
37
38
|
each_site_file do |file|
|
38
|
-
|
39
|
+
files[file.path] = file
|
40
|
+
end
|
41
|
+
|
42
|
+
# If we have an exact match, we use that one:
|
43
|
+
return files[file_name] if files.key?(file_name)
|
44
|
+
|
45
|
+
# Otherwise we try to find a key that is loosely matching
|
46
|
+
keys = files.keys
|
47
|
+
values = files.values
|
48
|
+
|
49
|
+
keys.each_with_index do |key, index|
|
50
|
+
return values[index] if key =~ /#{file_name}$/
|
39
51
|
end
|
52
|
+
|
40
53
|
nil
|
41
54
|
end
|
42
55
|
|
@@ -46,6 +59,17 @@ def get_site(config = {}, options = {})
|
|
46
59
|
site
|
47
60
|
end
|
48
61
|
|
62
|
+
def mock_logger
|
63
|
+
# Spying on default logging method while still calling them
|
64
|
+
allow(Jekyll.logger).to receive(:info).and_wrap_original do |method, *args|
|
65
|
+
# Hiding the basic "Configuration file" display
|
66
|
+
next if args[0] == 'Configuration file:'
|
67
|
+
method.call(*args)
|
68
|
+
end
|
69
|
+
allow(Jekyll.logger).to receive(:warn).and_call_original
|
70
|
+
allow(Jekyll.logger).to receive(:error).and_call_original
|
71
|
+
end
|
72
|
+
|
49
73
|
# Return the fixture path, according to the current Jekyll version being tested
|
50
74
|
def fixture_path
|
51
75
|
jekyll_version = Jekyll::VERSION[0]
|
@@ -55,11 +79,8 @@ end
|
|
55
79
|
|
56
80
|
# Check the current Jekyll version
|
57
81
|
def restrict_jekyll_version(more_than: nil, less_than: nil)
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
return false if !more_than.nil? && jekyll_version < minimum_version
|
63
|
-
return false if !less_than.nil? && jekyll_version > maximum_version
|
64
|
-
true
|
82
|
+
AlgoliaSearchUtils.restrict_jekyll_version(
|
83
|
+
more_than: more_than,
|
84
|
+
less_than: less_than
|
85
|
+
)
|
65
86
|
end
|
data/txt/record_too_big
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Algolia Error: Record too big
|
2
|
+
Records pushed to Algolia have a max possible size of 10KB. Records above this
|
3
|
+
limit will be rejected.
|
4
|
+
|
5
|
+
You see this error because at least one of the records the plugin is trying to
|
6
|
+
push is above this limit.
|
7
|
+
|
8
|
+
The plugin creates a record for each `<p>` paragraph of text found in your
|
9
|
+
pages. If one of them contains a huge chunk of text it may trigger this error.
|
10
|
+
|
11
|
+
You can configure the CSS selector used to create records through the
|
12
|
+
`record_css_selector` option. The default is `p` (meaning all `<p>`
|
13
|
+
paragraphs). You can update this value to use a negation selector to exclude
|
14
|
+
some parts.
|
15
|
+
|
16
|
+
For example `p:not(.do-not-index)` will only index paragraphs that do not have
|
17
|
+
the class `do-not-index`.
|
18
|
+
|
19
|
+
See https://github.com/algolia/algoliasearch-jekyll for more information
|
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: 1.0.0.beta.pre.1
|
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-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: algoliasearch
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: appraisal
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,64 +56,58 @@ dependencies:
|
|
56
56
|
name: json
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.8
|
61
|
+
version: '1.8'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.8
|
68
|
+
version: '1.8'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: nokogiri
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.7.2
|
76
73
|
- - "~>"
|
77
74
|
- !ruby/object:Gem::Version
|
78
|
-
version: '1.
|
75
|
+
version: '1.6'
|
79
76
|
type: :runtime
|
80
77
|
prerelease: false
|
81
78
|
version_requirements: !ruby/object:Gem::Requirement
|
82
79
|
requirements:
|
83
|
-
- - ">="
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 1.7.2
|
86
80
|
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '1.
|
82
|
+
version: '1.6'
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
84
|
+
name: html-hierarchy-extractor
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
92
86
|
requirements:
|
93
87
|
- - "~>"
|
94
88
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
89
|
+
version: '1.0'
|
96
90
|
type: :runtime
|
97
91
|
prerelease: false
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
94
|
- - "~>"
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
96
|
+
version: '1.0'
|
103
97
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
98
|
+
name: verbal_expressions
|
105
99
|
requirement: !ruby/object:Gem::Requirement
|
106
100
|
requirements:
|
107
|
-
- - "
|
101
|
+
- - "~>"
|
108
102
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
type: :
|
103
|
+
version: 0.1.5
|
104
|
+
type: :runtime
|
111
105
|
prerelease: false
|
112
106
|
version_requirements: !ruby/object:Gem::Requirement
|
113
107
|
requirements:
|
114
|
-
- - "
|
108
|
+
- - "~>"
|
115
109
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
110
|
+
version: 0.1.5
|
117
111
|
- !ruby/object:Gem::Dependency
|
118
112
|
name: coveralls
|
119
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,21 +220,8 @@ dependencies:
|
|
226
220
|
- - "~>"
|
227
221
|
- !ruby/object:Gem::Version
|
228
222
|
version: '0.10'
|
229
|
-
|
230
|
-
|
231
|
-
requirement: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - "<"
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: '2'
|
236
|
-
type: :development
|
237
|
-
prerelease: false
|
238
|
-
version_requirements: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - "<"
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: '2'
|
243
|
-
description: "[⚠ DEPRECATED ⚠]: Use jekyll-algolia instead"
|
223
|
+
description: Index all your pages and posts to an Algolia index with `jekyll algolia
|
224
|
+
push`
|
244
225
|
email: tim@pixelastic.com
|
245
226
|
executables: []
|
246
227
|
extensions: []
|
@@ -264,11 +245,14 @@ files:
|
|
264
245
|
- docs/travis-settings.png
|
265
246
|
- gemfiles/jekyll_v2.gemfile
|
266
247
|
- gemfiles/jekyll_v3.gemfile
|
248
|
+
- gemfiles/jekyll_v3_1_3.gemfile
|
249
|
+
- gemfiles/jekyll_v3_1_6.gemfile
|
267
250
|
- lib/algoliasearch-jekyll.rb
|
268
251
|
- lib/credential_checker.rb
|
269
252
|
- lib/error_handler.rb
|
270
253
|
- lib/push.rb
|
271
254
|
- lib/record_extractor.rb
|
255
|
+
- lib/utils.rb
|
272
256
|
- lib/version.rb
|
273
257
|
- scripts/bump_version
|
274
258
|
- scripts/check_flay
|
@@ -287,6 +271,8 @@ files:
|
|
287
271
|
- scripts/watch_v3
|
288
272
|
- spec/credential_checker_spec.rb
|
289
273
|
- spec/error_handler_spec.rb
|
274
|
+
- spec/fixtures/jekyll_version_2/404.html
|
275
|
+
- spec/fixtures/jekyll_version_2/404.md
|
290
276
|
- spec/fixtures/jekyll_version_2/_config.yml
|
291
277
|
- spec/fixtures/jekyll_version_2/_layouts/default.html
|
292
278
|
- spec/fixtures/jekyll_version_2/_my-collection/collection-item.html
|
@@ -298,10 +284,15 @@ files:
|
|
298
284
|
- spec/fixtures/jekyll_version_2/assets/ring.png
|
299
285
|
- spec/fixtures/jekyll_version_2/authors.html
|
300
286
|
- spec/fixtures/jekyll_version_2/excluded.html
|
287
|
+
- spec/fixtures/jekyll_version_2/front_matter.md
|
301
288
|
- spec/fixtures/jekyll_version_2/hierarchy.md
|
302
289
|
- spec/fixtures/jekyll_version_2/index.html
|
290
|
+
- spec/fixtures/jekyll_version_2/only-divs.md
|
291
|
+
- spec/fixtures/jekyll_version_2/only-paragraphs.md
|
303
292
|
- spec/fixtures/jekyll_version_2/page2/index.html
|
304
293
|
- spec/fixtures/jekyll_version_2/weight.md
|
294
|
+
- spec/fixtures/jekyll_version_3/404.html
|
295
|
+
- spec/fixtures/jekyll_version_3/404.md
|
305
296
|
- spec/fixtures/jekyll_version_3/_config.yml
|
306
297
|
- spec/fixtures/jekyll_version_3/_layouts/default.html
|
307
298
|
- spec/fixtures/jekyll_version_3/_my-collection/collection-item.html
|
@@ -313,8 +304,11 @@ files:
|
|
313
304
|
- spec/fixtures/jekyll_version_3/assets/ring.png
|
314
305
|
- spec/fixtures/jekyll_version_3/authors.html
|
315
306
|
- spec/fixtures/jekyll_version_3/excluded.html
|
307
|
+
- spec/fixtures/jekyll_version_3/front_matter.md
|
316
308
|
- spec/fixtures/jekyll_version_3/hierarchy.md
|
317
309
|
- spec/fixtures/jekyll_version_3/index.html
|
310
|
+
- spec/fixtures/jekyll_version_3/only-divs.md
|
311
|
+
- spec/fixtures/jekyll_version_3/only-paragraphs.md
|
318
312
|
- spec/fixtures/jekyll_version_3/page2/index.html
|
319
313
|
- spec/fixtures/jekyll_version_3/weight.md
|
320
314
|
- spec/push_spec.rb
|
@@ -325,18 +319,13 @@ files:
|
|
325
319
|
- txt/application_id_missing
|
326
320
|
- txt/check_key_acl_to_tmp_index
|
327
321
|
- txt/index_name_missing
|
322
|
+
- txt/record_too_big
|
328
323
|
- txt/sample
|
329
324
|
homepage: https://github.com/algolia/algoliasearch-jekyll
|
330
325
|
licenses:
|
331
326
|
- MIT
|
332
327
|
metadata: {}
|
333
|
-
post_install_message:
|
334
|
-
! The 'algolisearch-jekyll' gem has been deprecated and has been replaced with 'jekyll-algolia'.
|
335
|
-
! See: https://rubygems.org/gems/jekyll-algolia
|
336
|
-
! And: https://github.com/algolia/jekyll-algolia
|
337
|
-
!
|
338
|
-
! You can get quickly started on the new plugin using this documentation:
|
339
|
-
! https://community.algolia.com/jekyll-algolia/getting-started.html
|
328
|
+
post_install_message:
|
340
329
|
rdoc_options: []
|
341
330
|
require_paths:
|
342
331
|
- lib
|
@@ -347,13 +336,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
347
336
|
version: '0'
|
348
337
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
349
338
|
requirements:
|
350
|
-
- - "
|
339
|
+
- - ">"
|
351
340
|
- !ruby/object:Gem::Version
|
352
|
-
version:
|
341
|
+
version: 1.3.1
|
353
342
|
requirements: []
|
354
343
|
rubyforge_project:
|
355
|
-
rubygems_version: 2.
|
344
|
+
rubygems_version: 2.4.8
|
356
345
|
signing_key:
|
357
346
|
specification_version: 4
|
358
|
-
summary:
|
347
|
+
summary: AlgoliaSearch for Jekyll
|
359
348
|
test_files: []
|
data/scripts/watch
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
scripts/./watch_v2
|