algoliasearch-jekyll 0.9.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2ec5eedd6df1fff528552d378eec2b27780e80c2
4
- data.tar.gz: bf1ed0c45da66eec802ca7615d8e004f510f73c5
3
+ metadata.gz: d6047d13e0009e3118aa3f92185f4bb75834b30a
4
+ data.tar.gz: 9699b92d23a09417e85c436949bba0efd183c9f7
5
5
  SHA512:
6
- metadata.gz: b475a0072c6655cb502df46d715503643d96e354a4bb1a152984752f4578402f1e89b1e6028352b6c0a0920dbb817c818dadfb926295157b118c525eb0e96914
7
- data.tar.gz: 9f9431cc4067aa97558cd7b8b6447bed5d56fc8e13633399654b3bebf0263067b4c2d68fe5556215c785b2b46a39baea4db870ab15dd6bb5473963acb6e22731
6
+ metadata.gz: c21136d528d777aea77bbc62ce0e6ffb92b19ca0a6fa4c090664021814a7d9d61d5796819017fdbcdc582d6c4f96126b5af21afdc4bc8956ffba6926eb9dcbec
7
+ data.tar.gz: 46e1225115b202bf4bd110456f219aeb03104853e8b7a358c8bd5a0d38087e1fdbff9c6da74305e649d769c2387eef43ef754e79f7f1e193f639f94c38f01aca
data/README.md CHANGED
@@ -1,307 +1,17 @@
1
- # Algolia Jekyll Plugin
1
+ # Algolia Jekyll Plugin
2
2
 
3
- [![Gem Version][1]](http://badge.fury.io/rb/algoliasearch-jekyll)
4
- [![Build Status][2]](https://travis-ci.org/algolia/algoliasearch-jekyll)
5
- [![Coverage Status][3]](https://coveralls.io/github/algolia/algoliasearch-jekyll?branch=master)
6
- [![Code Climate][4]](https://codeclimate.com/github/algolia/algoliasearch-jekyll)
7
- ![Jekyll >= 2.5](https://img.shields.io/badge/jekyll-%3E%3D%202.5-green.svg)
3
+ ## ⚠ DEPRECATION NOTICE
8
4
 
9
- Jekyll plugin to automatically index your Jekyll posts and pages into an
10
- Algolia index by simply running `jekyll algolia push`.
5
+ This gem has been deprecated in favor of [jekyll-algolia][1].
11
6
 
12
- ## Usage
7
+ No further development will be happening on that gem.
13
8
 
14
- ```shell
15
- $ bundle exec jekyll algolia push
16
- ```
9
+ We strongly encourage you to try the new gem. It is officially supported by
10
+ Algolia and you can find its [complete documentation][2] online.
17
11
 
18
- This will push the content of your jekyll website to your Algolia index.
12
+ <<<<<<< 2ecd95dcf20550d3e43282c6c3e7158130ec2e3d
13
+ =======
19
14
 
20
- You can specify any option you would normally pass to `jekyll build`, like
21
- `--config`, `--source`, `--destination`, etc.
22
-
23
- ## Installation
24
-
25
- First, add the `algoliasearch-jekyll` gem to your `Gemfile`, in the
26
- `:jekyll_plugins` section. If you do not yet have a `Gemfile`, here is the
27
- minimum content to get your started.
28
-
29
- ```ruby
30
- source 'https://rubygems.org'
31
-
32
- gem 'jekyll', '~> 2.5.3'
33
-
34
- group :jekyll_plugins do
35
- gem 'algoliasearch-jekyll', '~> 0.9.0'
36
- end
37
- ```
38
-
39
- Once this is done, download all dependencies with `bundle install`.
40
-
41
- Then, add `algoliasearch-jekyll` to your `_config.yml` file, under the `gems`
42
- section, like this:
43
-
44
- ```yaml
45
- plugins:
46
- - algoliasearch-jekyll
47
- ```
48
-
49
- If everything went well, you should be able to execute `jekyll help` and see the
50
- `algolia` subcommand listed.
51
-
52
- ## Configuration
53
-
54
- Add information about your Algolia configuration into the `_config.yml` file,
55
- under the `algolia` section, like this:
56
-
57
- ```yaml
58
- algolia:
59
- application_id: 'your_application_id'
60
- index_name: 'your_index_name'
61
- ```
62
-
63
- You can also define the `ALGOLIA_APPLICATION_ID` and `ALGOLIA_INDEX_NAME`
64
- environment variables. If present, they will be used instead of the options in
65
- `_config.yml`.
66
-
67
- Your write api key will be read from the `ALGOLIA_API_KEY` environment variable.
68
- You can define it on the same line as your command, allowing you to type
69
- `ALGOLIA_API_KEY='your_write_api_key' jekyll algolia push`.
70
-
71
- Note that your API key should have write access to both the `index_name` and
72
- `_tmp` suffixed version of it (eg. `your_index_name` and `your_index_name_tmp`)
73
- in the previous example). This is due to the way we do atomic pushes by pushing
74
- to a temporary index and then renaming it. The easiest way is to create a key
75
- with access to in the `index_name*` index (note the `*` suffix).
76
-
77
- ### ⚠ Other, unsecure, method ⚠
78
-
79
- You can also store your write api key in a file named `_algolia_api_key`, in
80
- your source directory. If you do this we __very, very, very strongly__ encourage
81
- you to make sure the file is not tracked in your versioning system.
82
-
83
- ### Options
84
-
85
- The plugin uses sensible defaults, but you may want to override some of its
86
- configuration. Here are the various options you can add to your `_config.yml`
87
- file, under the `algolia` section:
88
-
89
- #### `excluded_files`
90
-
91
- Defines which files should not be indexed for search.
92
-
93
- ```yml
94
- algolia:
95
- excluded_files:
96
- - index.html
97
- - 2015-01-01-post.md
98
- ```
99
-
100
- #### `record_css_selector`
101
-
102
- Defines the css selector inside a page/post used to choose which parts to index.
103
- It is set to all paragraphs (`<p>`) by default.
104
-
105
- If you would like to also index lists, you could set it like this:
106
-
107
- ```yml
108
- algolia:
109
- record_css_selector: 'p,ul'
110
- ```
111
-
112
- #### `allowed_extensions`
113
-
114
- Define additional extensions to be indexed. The default behaviour is to index
115
- only markdown and HTML files.
116
-
117
- ```yml
118
- algolia:
119
- allowed_extensions:
120
- - adoc
121
- - ad
122
- ```
123
-
124
- #### `settings`
125
-
126
- Here you can pass any specific [index settings][5] to your Algolia index. All
127
- the settings supported by the API can be passed here.
128
-
129
- ##### Examples
130
-
131
- If you want to activate `distinct` and some snippets for example, you would do:
132
-
133
- ```yml
134
- algolia:
135
- settings:
136
- attributeForDistinct: 'hierarchy'
137
- distinct: true
138
- attributesToSnippet: ['text:20']
139
- ```
140
-
141
- If you want to search in other fields than the default ones, you'll have to edit
142
- the `attributesToIndex` (default is `%w(title h1 h2 h3 h4 h5 h6 unordered(text)
143
- unordered(tags))`
144
-
145
- ```yml
146
- algolia:
147
- settings:
148
- attributesToIndex:
149
- - title
150
- - h1
151
- - h2
152
- - h3
153
- - h4
154
- - h5
155
- - h6
156
- - unordered(text)
157
- - unordered(tags)
158
- - your_custom_attribute_1
159
- - your_custom_attribute_2
160
- - ...
161
- ```
162
-
163
- ### Hooks
164
-
165
- The `AlgoliaSearchRecordExtractor` contains two methods (`custom_hook_each` and
166
- `custom_hook_all`) that are here so you can overwrite them to add your custom
167
- logic. They currently simply return the argument they take as input.
168
-
169
- The best way to override them is to create a `./_plugins/search.rb` file, with
170
- the following content:
171
-
172
- ```ruby
173
- class AlgoliaSearchRecordExtractor
174
- # Hook to modify a record after extracting
175
- def custom_hook_each(item, node)
176
- # `node` is a Nokogiri HTML node, so you can access its type through `node.name`
177
- # or its classname through `node.attr('class')` for example
178
-
179
- # Just return `nil` instead of `item` if you want to discard this record
180
- item
181
- end
182
-
183
- # Hook to modify all records after extracting
184
- def custom_hook_all(items)
185
- items
186
- end
187
- end
188
- ```
189
-
190
- The `AlgoliaSearchJekyllPush` class also lets user define the
191
- `custom_hook_excluded_file?` method. This method is called on every file that
192
- the plugin thinks it should parse and index. If it returns `true`, the file is
193
- not indexed. You can add here your custom logic to exclude some files.
194
-
195
- ```ruby
196
- class AlgoliaSearchJekyllPush < Jekyll::Command
197
- class << self
198
- # Hook to exclude some files from indexing
199
- def custom_hook_excluded_file?(file)
200
- return true if file.path =~ %r{^/excluded_dir/}
201
- false
202
- end
203
- end
204
- end
205
- ```
206
-
207
- ## Command line
208
-
209
- Here is the list of command line options you can pass to the `jekyll algolia
210
- push` command:
211
-
212
- | Flag | Description |
213
- | ---- | ----- |
214
- | `--config ./_config.yml` | You can here specify the config file to use. Default is `_config.yml` |
215
- | `--future` | With this flag, the command will also index posts with a future date |
216
- | `--limit_posts 10` | Limits the number of posts to parse and index |
217
- | `--drafts` | Index drafts in the `_drafts` folder as well |
218
- | `--dry-run` or `-n` | Do a dry run, do not actually push anything to your index |
219
- | `--verbose` | Display more information about what is going to be indexed |
220
-
221
- ## Dependencies
222
-
223
- The `algoliasearch-jekyll` plugin works for versions of Jekyll starting from
224
- 2.5, with a version of Ruby of at least 2.0. You also need
225
- [Bundler][6] to easily add the gem as a dependency to Jekyll.
226
-
227
- ## Searching
228
-
229
- This plugin will only index your data in your Algolia index. Adding search
230
- capabilities is quite easy. You can follow [our tutorials][7] or use our forked
231
- version of the popular [Hyde theme][8].
232
-
233
- ## GitHub Pages
234
-
235
- GitHub does not allow custom plugins to be run on GitHub Pages. This means that
236
- you'll either have to run `bundle exec jekyll algolia push` manually, or
237
- configure TravisCI to do it for you.
238
-
239
- [Travis CI][9] is an hosted continuous integration
240
- service, and it's free for open-source projects. Properly configured, it can
241
- automatically reindex your data whenever you push to `gh-pages`.
242
-
243
- For it to work, you'll have 3 steps to perform.
244
-
245
- ### 1. Create a `.travis.yml` file
246
-
247
- Create a file named `.travis.yml` at the root of your project, with the
248
- following content:
249
-
250
- ```yml
251
- language: ruby
252
- cache: bundler
253
- branches:
254
- only:
255
- - gh-pages
256
- script:
257
- - bundle exec jekyll algolia push
258
- rvm:
259
- - 2.2
260
- ```
261
-
262
- This file will be read by Travis and instruct it to fetch all dependencies
263
- defined in the `Gemfile`, then run `jekyll algolia push`. This will only be
264
- triggered when data is pushed to the `gh-pages` branch.
265
-
266
- ### 2. Update your `_config.yml` file to exclude `vendor`
267
-
268
- Travis will download all you `Gemfile` dependencies into a directory named
269
- `vendor`. You have to tell Jekyll to ignore this directory, otherwise Jekyll
270
- will try to parse it (and fail).
271
-
272
- Doing so is easy, just add the following line to your `_config.yml` file:
273
-
274
- ```yml
275
- exclude: [vendor]
276
- ```
277
-
278
- ### 3. Configure Travis
279
-
280
- In order for Travis to be able to push data to your index on your behalf, you
281
- have to give it your write API Key. This is achieved by defining an
282
- `ALGOLIA_API_KEY` [environment variable][10] in Travis settings.
283
-
284
- You should also uncheck the "Build pull requests" option, otherwise any pull
285
- request targeting `gh-pages` will trigger the reindexing.
286
-
287
- ![Travis Configuration][11]
288
-
289
- ### Done
290
-
291
- Commit all the changes to the files, and then push to `gh-pages`. Travis will
292
- catch the event and trigger your indexing for you. You can follow the Travis job
293
- execution directly on [their website][12].
294
-
295
-
296
- [1]: https://badge.fury.io/rb/algoliasearch-jekyll.svg
297
- [2]: https://travis-ci.org/algolia/algoliasearch-jekyll.svg?branch=master
298
- [3]: https://coveralls.io/repos/algolia/algoliasearch-jekyll/badge.svg?branch=master&service=github
299
- [4]: https://codeclimate.com/github/algolia/algoliasearch-jekyll/badges/gpa.svg
300
- [5]: https://www.algolia.com/doc/ruby#indexing-parameters
301
- [6]: http://bundler.io/
302
- [7]: https://www.algolia.com/doc/javascript
303
- [8]: https://github.com/algolia/hyde
304
- [9]: https://travis-ci.org/
305
- [10]: http://docs.travis-ci.com/user/environment-variables/
306
- [11]: /docs/travis-settings.png
307
- [12]: https://travis-ci.org
15
+ >>>>>>> Adding deprecation notice in the readme
16
+ [1]: https://github.com/algolia/jekyll-algolia
17
+ [2]: https://community.algolia.com/jekyll-algolia/getting-started.html
data/Rakefile CHANGED
@@ -1,12 +1,10 @@
1
- # encoding: utf-8
2
-
3
1
  require 'rubygems'
4
2
  require 'bundler'
5
3
  begin
6
4
  Bundler.setup(:default, :development)
7
5
  rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts 'Run `bundle install` to install missing gems'
6
+ warn e.message
7
+ warn 'Run `bundle install` to install missing gems'
10
8
  exit e.status_code
11
9
  end
12
10
  require 'rake'
@@ -20,11 +18,18 @@ Jeweler::Tasks.new do |gem|
20
18
  gem.version = AlgoliaSearchJekyllVersion.to_s
21
19
  gem.homepage = 'https://github.com/algolia/algoliasearch-jekyll'
22
20
  gem.license = 'MIT'
23
- gem.summary = 'AlgoliaSearch for Jekyll'
24
- gem.description = 'Index all your pages and posts to an Algolia index with ' \
25
- '`jekyll algolia push`'
21
+ gem.summary = '[⚠ DEPRECATED ⚠]: Use jekyll-algolia instead'.freeze
22
+ gem.description = '[⚠ DEPRECATED ⚠]: Use jekyll-algolia instead'.freeze
26
23
  gem.email = 'tim@pixelastic.com'
27
24
  gem.authors = ['Tim Carry']
25
+ gem.post_install_message = <<-MESSAGE
26
+ ! The 'algolisearch-jekyll' gem has been deprecated and has been replaced with 'jekyll-algolia'.
27
+ ! See: https://rubygems.org/gems/jekyll-algolia
28
+ ! And: https://github.com/algolia/jekyll-algolia
29
+ !
30
+ ! You can get quickly started on the new plugin using this documentation:
31
+ ! https://community.algolia.com/jekyll-algolia/getting-started.html
32
+ MESSAGE
28
33
 
29
34
  # dependencies defined in Gemfile
30
35
  end
@@ -2,17 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: algoliasearch-jekyll 0.9.0 ruby lib
5
+ # stub: algoliasearch-jekyll 0.9.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "algoliasearch-jekyll".freeze
9
- s.version = "0.9.0"
9
+ s.version = "0.9.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Tim Carry".freeze]
14
- s.date = "2017-10-15"
15
- s.description = "Index all your pages and posts to an Algolia index with `jekyll algolia push`".freeze
14
+ s.date = "2017-12-21"
15
+ s.description = "[\u26A0 DEPRECATED \u26A0]: Use jekyll-algolia instead".freeze
16
16
  s.email = "tim@pixelastic.com".freeze
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
@@ -100,8 +100,9 @@ Gem::Specification.new do |s|
100
100
  ]
101
101
  s.homepage = "https://github.com/algolia/algoliasearch-jekyll".freeze
102
102
  s.licenses = ["MIT".freeze]
103
+ s.post_install_message = " ! The 'algolisearch-jekyll' gem has been deprecated and has been replaced with 'jekyll-algolia'.\n ! See: https://rubygems.org/gems/jekyll-algolia\n ! And: https://github.com/algolia/jekyll-algolia\n !\n ! You can get quickly started on the new plugin using this documentation:\n ! https://community.algolia.com/jekyll-algolia/getting-started.html\n".freeze
103
104
  s.rubygems_version = "2.6.13".freeze
104
- s.summary = "AlgoliaSearch for Jekyll".freeze
105
+ s.summary = "[\u26A0 DEPRECATED \u26A0]: Use jekyll-algolia instead".freeze
105
106
 
106
107
  if s.respond_to? :specification_version then
107
108
  s.specification_version = 4
@@ -1,6 +1,6 @@
1
1
  # Expose gem version
2
2
  class AlgoliaSearchJekyllVersion
3
3
  def self.to_s
4
- '0.9.0'
4
+ '0.9.1'
5
5
  end
6
6
  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.9.0
4
+ version: 0.9.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: 2017-10-15 00:00:00.000000000 Z
11
+ date: 2017-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: algoliasearch
@@ -240,8 +240,7 @@ dependencies:
240
240
  - - "<"
241
241
  - !ruby/object:Gem::Version
242
242
  version: '2'
243
- description: Index all your pages and posts to an Algolia index with `jekyll algolia
244
- push`
243
+ description: "[⚠ DEPRECATED ⚠]: Use jekyll-algolia instead"
245
244
  email: tim@pixelastic.com
246
245
  executables: []
247
246
  extensions: []
@@ -331,7 +330,13 @@ homepage: https://github.com/algolia/algoliasearch-jekyll
331
330
  licenses:
332
331
  - MIT
333
332
  metadata: {}
334
- post_install_message:
333
+ post_install_message: |2
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
335
340
  rdoc_options: []
336
341
  require_paths:
337
342
  - lib
@@ -350,5 +355,5 @@ rubyforge_project:
350
355
  rubygems_version: 2.6.13
351
356
  signing_key:
352
357
  specification_version: 4
353
- summary: AlgoliaSearch for Jekyll
358
+ summary: "[⚠ DEPRECATED ⚠]: Use jekyll-algolia instead"
354
359
  test_files: []