jekyll-algolia 1.0.0 → 1.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.
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: