Index content in Algolia Search API. Support web site all page index creation code source from https://www.npmjs.com/package/hexo-algolia
Install
Compatible with node>=4.0.0
.
$ npm install --save hexo-algolia-gmagon
Public Facing Search Options
You can configure Algolia integration to your hexo website with the _config.yml
file:
algolia:applicationID: 'applicationID'apiKey: 'apiKey'indexName: '...'
Config Key | |
---|---|
applicationID |
Your Algolia Application ID |
apiKey |
A Search-Only API key |
indexName |
The name of the Algolia index to use |
These configuration values are accessible from your hexo theme, to be used with Algolia JavaScript client.
Hexo Helpers
Helpers are provided to make your life easier.
Algolia JavaScript Client Tags
The plugin provides an easy way to add Algolia JavaScript API Client either locally (served by hexo) or remotely (via Algolia CDN).
<%- algolia_search() %>
Renders as:
<%- algolia_search_cdn() %>
Renders as:
<meta>
Tag
Configuration You can make your index configuration available to your page and client-side scripts by adding the algolia_config()
hexo helper in the <head>
of your document.
<%- algolia_search_config() %>
Renders as:
You can access the exposed configuration by querying the data attribute
of the algolia:search
meta tag:
Indexing Content
Content can be indexed from the command line with the help of the hexo algolia
command.
$ ./node_modules/.bin/hexo algolia
API Key
A separate API Key must be provided as an environment variable named HEXO_ALGOLIA_INDEXING_KEY
. Create it with these limited write access permissions: Add records
, Delete records
, List indices
, Delete index
.
$ export HEXO_ALGOLIA_INDEXING_KEY=…$ ./node_modules/.bin/hexo algolia
Usage
$ ./node_modules/.bin/hexo help algolia
Usage: ./node_modules/.bin/hexo algolia
Description:
Index your content in Algolia Search API
Options:
--chunk-size=5000 Chunk size for each batch of content to index
--dry-run Does not push content to Algolia
--flush Does not reset the Algolia index before starting the indexation
Security Concerns
Never store your Admin API Key as apiKey
in the _config.yml
file: it would give full control of your Algolia index to others and you don't want to face the consequences.
Please read Algolia Security guide thoroughly if you need some more informations about this.