Skip to content

Commit b5ea8ab

Browse files
committed
Add Set Algolia Env
Closes gh-26
1 parent 464d9ec commit b5ea8ab

6 files changed

+42
-0
lines changed

README.adoc

+9
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ IMPORTANT: Be sure to register this extension under the `antora.extensions` key
5353
This extension applies the recommended Antora Extensions.
5454
It applies the following extensions in the proper order:
5555

56+
* <<Set Algolia Env>>
5657
* <<Partial Build>>
5758
* https://gitlab.com/antora/antora-atlas-extension[@antora/atlas-extension]
5859
* <<Latest Version>>
@@ -77,6 +78,14 @@ antora:
7778
root_component_name: 'security'
7879
----
7980

81+
=== Set Algolia Env
82+
83+
*require name:* @springio/antora-extensions/set-algolia-env-extension
84+
85+
IMPORTANT: Be sure to register this extension under the `antora.extensions` key in the playbook, not the `asciidoc.extensions` key!
86+
87+
This extension sets the Algolia environment variables to enable search.
88+
8089
=== Collector Cache Config
8190
*require name:* @springio/antora-extensions/inject-collector-cache-config-extension
8291

lib/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const { name: packageName } = require('#package')
44

55
module.exports.register = function ({ playbook, config }) {
6+
this.require(`${packageName}/set-algolia-env-extension`).register.call(this, { playbook, config })
67
this.require(`${packageName}/partial-build-extension`).register.call(this, { playbook, config })
78
this.require('@antora/atlas-extension').register.call(this, { config })
89
this.require(`${packageName}/latest-version-extension`).register.call(this, { config })

lib/set-algolia-env-extension.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict'
2+
3+
module.exports.register = function () {
4+
process.env.ALGOLIA_API_KEY = '9d489079e5ec46dbb238909fee5c9c29'
5+
process.env.ALGOLIA_APP_ID = 'WB1FQYI187'
6+
process.env.ALGOLIA_INDEX_NAME = 'springdocs'
7+
}

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"./tabs-migration-extension": "./lib/tabs-migration-extension.js",
3939
"./static-page-extension": "./lib/static-page-extension.js",
4040
"./cache-scandir": "./lib/cache-scandir/index.js",
41+
"./set-algolia-env-extension": "./lib/set-algolia-env-extension.js",
4142
"./static-pages/search": "./lib/static/search.adoc",
4243
"./static-pages/spring-projects": "./lib/static/spring-projects.adoc",
4344
"./asciinema-extension": "./lib/asciinema-extension.js"

test/extensions-test.js

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ describe('extensions', () => {
3535
it('should be able to call register function exported by extension', () => {
3636
ext.register.call(generatorContext, {})
3737
expect(generatorContext.required).eql([
38+
`${packageName}/set-algolia-env-extension`,
3839
`${packageName}/partial-build-extension`,
3940
'@antora/atlas-extension',
4041
`${packageName}/latest-version-extension`,
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/* eslint-env mocha */
2+
'use strict'
3+
4+
const { expect } = require('./harness')
5+
const { name: packageName } = require('#package')
6+
7+
describe('extensions', () => {
8+
const ext = require(packageName + '/set-algolia-env-extension')
9+
10+
describe('bootstrap', () => {
11+
it('should be able to require extension', () => {
12+
expect(ext).to.be.instanceOf(Object)
13+
expect(ext.register).to.be.instanceOf(Function)
14+
})
15+
16+
it('should be able to call register function exported by extension', () => {
17+
ext.register.call()
18+
expect(process.env.ALGOLIA_API_KEY).to.eql('9d489079e5ec46dbb238909fee5c9c29')
19+
expect(process.env.ALGOLIA_APP_ID).to.eql('WB1FQYI187')
20+
expect(process.env.ALGOLIA_INDEX_NAME).to.eql('springdocs')
21+
})
22+
})
23+
})

0 commit comments

Comments
 (0)