jekyll-algolia 1.0.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +51 -30
  3. data/README.md +69 -27
  4. data/lib/errors/invalid_credentials.txt +12 -0
  5. data/lib/errors/invalid_index_name.txt +9 -0
  6. data/lib/errors/missing_api_key.txt +15 -0
  7. data/lib/errors/missing_application_id.txt +11 -0
  8. data/lib/errors/missing_index_name.txt +18 -0
  9. data/lib/errors/no_records_found.txt +14 -0
  10. data/lib/errors/record_too_big.txt +27 -0
  11. data/lib/errors/record_too_big_api.txt +10 -0
  12. data/lib/errors/settings_manually_edited.txt +17 -0
  13. data/lib/errors/too_many_records.txt +14 -0
  14. data/lib/errors/unknown_application_id.txt +16 -0
  15. data/lib/errors/unknown_settings.txt +12 -0
  16. data/lib/jekyll-algolia.rb +45 -60
  17. data/lib/jekyll/algolia/configurator.rb +137 -44
  18. data/lib/jekyll/algolia/error_handler.rb +36 -48
  19. data/lib/jekyll/algolia/extractor.rb +16 -6
  20. data/lib/jekyll/algolia/file_browser.rb +161 -68
  21. data/lib/jekyll/algolia/hooks.rb +18 -6
  22. data/lib/jekyll/algolia/indexer.rb +283 -145
  23. data/lib/jekyll/algolia/logger.rb +39 -8
  24. data/lib/jekyll/algolia/overwrites/githubpages-configuration.rb +32 -0
  25. data/lib/jekyll/algolia/overwrites/jekyll-algolia-site.rb +151 -0
  26. data/lib/jekyll/algolia/overwrites/jekyll-document.rb +13 -0
  27. data/lib/jekyll/algolia/overwrites/jekyll-paginate-pager.rb +20 -0
  28. data/lib/jekyll/algolia/overwrites/jekyll-tags-link.rb +33 -0
  29. data/lib/jekyll/algolia/progress_bar.rb +27 -0
  30. data/lib/jekyll/algolia/shrinker.rb +112 -0
  31. data/lib/jekyll/algolia/utils.rb +118 -2
  32. data/lib/jekyll/algolia/version.rb +1 -1
  33. data/lib/jekyll/commands/algolia.rb +3 -14
  34. metadata +75 -31
  35. data/errors/invalid_credentials.txt +0 -10
  36. data/errors/invalid_credentials_for_tmp_index.txt +0 -17
  37. data/errors/invalid_index_name.txt +0 -11
  38. data/errors/missing_api_key.txt +0 -17
  39. data/errors/missing_application_id.txt +0 -12
  40. data/errors/missing_index_name.txt +0 -19
  41. data/errors/no_records_found.txt +0 -20
  42. data/errors/record_too_big.txt +0 -25
  43. data/errors/unknown_application_id.txt +0 -20
  44. data/errors/unknown_settings.txt +0 -15
@@ -1,11 +0,0 @@
1
- E: [✗ Error] Invalid index name
2
- E:
3
- E: The jekyll-algolia plugin could push records to your index as its name
4
- E: contains invalid characters.
5
- W:
6
- W: Some special characters are not allowed in the naming of indices and your
7
- W: index {index_name} contains some of them.
8
- I:
9
- I: Please, check our FAQ for more details:
10
- I: https://www.algolia.com/doc/faq/index-configuration/what-can-i-name-my-indices/
11
- I:
@@ -1,17 +0,0 @@
1
- E: [✗ Error] Missing API key
2
- E:
3
- E: The jekyll-algolia plugin could not find your API key.
4
- W:
5
- W: Please, define your API key either by:
6
- W:
7
- W: 1/ Defining an ENV variable when calling `jekyll algolia`
8
- W: $ ALGOLIA_API_KEY='{your_api_key}' jekyll algolia
9
- W:
10
- W: 2/ Save your API key in a named `_algolia_api_key` in your source directory.
11
- W: If you do this, we strongly recommend you to NOT track this file in your
12
- W: versionning system.
13
- I:
14
- I: You can find your API key in your Algolia dashboard here:
15
- I: https://www.algolia.com/licensing
16
- I:
17
- I:
@@ -1,12 +0,0 @@
1
- E: [✗ Error] No application ID defined
2
- E:
3
- E: The jekyll-algolia plugin could not find your Algolia application ID.
4
- W:
5
- W: Please, define it in your Jekyll _config.yml file like this:
6
- W:
7
- W: algolia:
8
- W: application_id: {your_application_id}
9
- I:
10
- I: You can find your application ID along with all your credentials in your
11
- I: Algolia dashboard here:
12
- I: https://www.algolia.com/licensing
@@ -1,19 +0,0 @@
1
- E: [✗ Error] No index name defined
2
- E:
3
- E: The jekyll-algolia plugin could not find the name of the Algolia index you
4
- E: want to push your records to.
5
- W:
6
- W: Please, define it in your Jekyll _config.yml file like this:
7
- W:
8
- W: algolia:
9
- W: index_name: {your_index_name}
10
- W:
11
- W: Alternatively, you can also define it as an ENV variable, like this:
12
- W:
13
- W: $ ALGOLIA_INDEX_NAME='{your_index_name}' jekyll algolia
14
- W:
15
- I: You can see all your indices from your Algolia dashboard here:
16
- I: https://www.algolia.com/explorer
17
- I:
18
- I: Note that you don't have to create an index before pushing records.
19
- I: It will be created automatically if it does not exist yet.
@@ -1,20 +0,0 @@
1
- E: [✗ Error] No records found
2
- E:
3
- E: The jekyll-algolia plugin could find any records to index
4
- W:
5
- W: The plugin tried to extract records from the pages, posts and collections of
6
- W: your site but could not find anything to index.
7
- I:
8
- I: Make sure you did not exclude too many files from indexing using the
9
- I: `files_to_exclude` option. You are currently excluding the following files:
10
- I: {files_to_exclude}
11
- I:
12
- I: Also double check that your current value for `nodes_to_index` can actually
13
- I: match something in the page. You are current indexing the following nodes:
14
- I: {nodes_to_index}
15
- I:
16
- I: Note that all the markup that is defined in the layouts won't be available
17
- I: during extraction. Only the page content can be accessed. So if you defined
18
- I: a layout markup that is used only for one page, you should move it to the
19
- I: page instead.
20
- I:
@@ -1,25 +0,0 @@
1
- E: [✗ Error] Record is too big
2
- E:
3
- E: The jekyll-algolia plugin could not push one of your records as it exceeds
4
- E: the {size_limit} size limit.
5
- W:
6
- W: The plugin will create one record for each element matching your
7
- W: `nodes_to_index` value (currently set to "{nodes_to_index}"). Each record
8
- W: should not weight more than {size_limit}. One of your records weights {size}
9
- W: and has been rejected.
10
- W:
11
- W: Here are more information about the rejected record:
12
- W: {
13
- W: "objectID": "{object_id}",
14
- W: "title": "{object_title}",
15
- W: "url": "{object_url}",
16
- W: "text": "{object_hint}…",
17
- W: […]
18
- W: }
19
- W:
20
- I: This issue is sometimes caused by malformed HTML preventing the parser to
21
- I: correctly grab the content of the nodes.
22
- I:
23
- I: If you're having trouble solving this issue, feel free to file a bug on
24
- I: GitHub, ideally with a link to a repository where we can reproduce the issue.
25
- I: https://github.com/algolia/jekyll-algolia/issues
@@ -1,20 +0,0 @@
1
- E: [✗ Error] Unreachable server
2
- E:
3
- E: The jekyll-algolia plugin could not contact the server hosting your
4
- E: application.
5
- W:
6
- W: Make sure you correctly typed your application ID. As we are using the
7
- W: application ID as part of the server url, any typo in the application ID will
8
- W: prevent us from reaching your server.
9
- W:
10
- I: Here is the application ID you defined: {application_id}
11
- I:
12
- I: Make sure it's the same as the one displayed in your dashboard:
13
- I: https://www.algolia.com/licensing
14
- I:
15
- I: Then, define it in your Jekyll _config.yml file like this:
16
- I:
17
- I: algolia:
18
- I: application_id: {your_application_id}
19
- I:
20
- I:
@@ -1,15 +0,0 @@
1
- E: [✗ Error] Unknown setting
2
- E:
3
- E: The jekyll-algolia plugin could not correctly configure your index as some of
4
- E: the settings passed are not recognized.
5
- W:
6
- W: It seems that one of the custom index settings you defined was not recognized
7
- W: by the API and was rejected:
8
- W: {setting_name}: {setting_value}
9
- I:
10
- I: Make sure the setting name and value are correct. You can find a list of all
11
- I: the available settings with their documentation in our API reference:
12
- I: https://www.algolia.com/doc/api-reference/api-parameters/
13
- I: Or specifically for this setting:
14
- I: https://www.algolia.com/doc/api-reference/api-parameters/{setting_name}/
15
- I: