🔎 A plugin to index posts of your Hexo blog on Algolia
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Latest commit 8b8fb27 Mar 8, 2018
Permalink
Failed to load latest commit information.
lib add truncate filter Mar 8, 2018
.eslintignore initial commit Jul 3, 2016
.eslintrc update eslint config Nov 24, 2017
.gitignore initial commit Jul 3, 2016
.npmignore initial commit Jul 3, 2016
LICENSE update license Nov 24, 2017
README.md add truncate filter Mar 8, 2018
index.js initial commit Jul 3, 2016
package.json v0.3.0 Mar 8, 2018

README.md

hexo-algoliasearch

npm version npm dependencies npm dev dependencies npm download/month npm download total gitter chat

A plugin to index posts of your Hexo blog on Algolia

Installation

npm install hexo-algoliasearch --save

If Hexo detect automatically all plugins, that's all.

If that is not the case, register the plugin in your _config.yml file :

plugins:
  - hexo-algoliasearch

Configuration

You can configure this plugin in your _config.yml file :

algolia:
  appId: "Z7A3XW4R2I"
  apiKey: "12db1ad54372045549ef465881c17e743"
  adminApiKey: "40321c7c207e7f73b63a19aa24c4761b"
  chunkSize: 5000
  indexName: "my-hexo-blog"
  fields:
    - content:strip:truncate,0,500
    - excerpt:strip
    - gallery
    - permalink
    - photos
    - slug
    - tags
    - title
Key Type Default Description
appId String Your application ID. Optional, if the environment variable ALGOLIA_APP_ID is set
apiKey String Your API key (read only). It is use to search in an index. Optional, if the environment variable ALGOLIA_API_KEY is set
adminApiKey String Your adminAPI key. It is use to create, delete, update your indexes. Optional, if the environment variable ALGOLIA_ADMIN_API_KEY is set
chunkSize Number 5000 Records/posts are split in chunks to upload them. Algolia recommend to use 5000 for best performance. Be careful, if you are indexing post content, It can fail because of size limit. To overcome this, decrease size of chunks until it pass.
indexName String The name of the index in which posts are stored. Optional, if the environment variable ALGOLIA_INDEX_NAME is set
fields List The list of the field names to index. Separate field name and filters with :. Read Filters for more information

Filters

Filters give you the ability to process value of fields before indexation. Filters are separated each others by colons (:) and may have optional arguments separated by commas (,). Multiple filters can be chained. The output of one filter is applied to the next.

List of filters:
Filter Signature Syntax Description
strip strip() strip Strip HTML. It can be useful for excerpt and content value to not index HTML tags and attributes.
truncate truncate(start: number, end: number) truncate,0,300 Truncate string from start index to end index. Algolia has some limitations about record size so it might be useful to cut post contents.
Example
  fields:
    - content:strip:truncate,0,200

It will strip HTML from content value then truncate the result starting from index 0 to index 200 before indexation. This property will be added to algolia records as contentStripTruncate

Usage

hexo algolia

Options

Options Description
-n, --no-clear Does not clear the existing index

Licence

hexo-algoliasearch is under MIT