Skip to content

Commit 8444303

Browse files
authored
Merge pull request #308 from HarperDB/algolia-search
wire up algolia search for prod build with necessary env vars
2 parents 4e0e8e0 + c97ac4b commit 8444303

File tree

4 files changed

+67
-49
lines changed

4 files changed

+67
-49
lines changed

.github/workflows/deploy.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ jobs:
5353
DOCUSAURUS_ROUTE_BASE_PATH: ${{ vars.DOCUSAURUS_ROUTE_BASE_PATH }}
5454
DOCUSAURUS_BASE_URL: ${{ vars.DOCUSAURUS_BASE_URL }}
5555
DOCUSAURUS_URL: ${{ vars.DOCUSAURUS_URL }}
56+
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
57+
ALGOLIA_SEARCH_KEY: ${{ secrets.ALGOLIA_SEARCH_KEY }}
58+
ALGOLIA_INDEX_NAME: ${{ secrets.ALGOLIA_INDEX_NAME }}
5659
run: |
5760
echo "Building Docusaurus site..."
5861
echo "Using DOCUSAURUS_ROUTE_BASE_PATH: $DOCUSAURUS_ROUTE_BASE_PATH"

docusaurus.config.ts

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -230,21 +230,25 @@ const config: Config = {
230230
],
231231

232232
themes: [
233-
[
234-
require.resolve('@easyops-cn/docusaurus-search-local'),
235-
{
236-
hashed: true,
237-
language: ['en'],
238-
indexDocs: true,
239-
indexBlog: false,
240-
indexPages: false,
241-
docsRouteBasePath: routeBasePath,
242-
highlightSearchTermsOnTargetPage: true,
243-
searchResultLimits: 8,
244-
// Explicitly set the search bar position
245-
searchBarPosition: 'right',
246-
},
247-
],
233+
// Use Algolia search in production when env vars are set, otherwise use local search
234+
...(process.env.NODE_ENV === 'production' && process.env.ALGOLIA_APP_ID && process.env.ALGOLIA_SEARCH_KEY
235+
? ['@docusaurus/theme-search-algolia']
236+
: [
237+
[
238+
require.resolve('@easyops-cn/docusaurus-search-local'),
239+
{
240+
hashed: true,
241+
language: ['en'],
242+
indexDocs: true,
243+
indexBlog: false,
244+
indexPages: true,
245+
docsRouteBasePath: routeBasePath,
246+
highlightSearchTermsOnTargetPage: true,
247+
searchResultLimits: 8,
248+
searchBarPosition: 'right',
249+
},
250+
],
251+
]),
248252
'@docusaurus/theme-mermaid',
249253
],
250254

@@ -255,6 +259,15 @@ const config: Config = {
255259
themeConfig: {
256260
// Project's social card
257261
image: 'img/HarperOpenGraph.png',
262+
// Algolia search configuration (only used when Algolia theme is active)
263+
algolia: {
264+
appId: process.env.ALGOLIA_APP_ID || '',
265+
apiKey: process.env.ALGOLIA_SEARCH_KEY || '',
266+
indexName: process.env.ALGOLIA_INDEX_NAME || 'harper-docs',
267+
contextualSearch: true,
268+
searchPagePath: 'search',
269+
searchParameters: {},
270+
},
258271
navbar: {
259272
logo: {
260273
alt: 'Harper Logo',

package-lock.json

Lines changed: 18 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,26 @@
2020
"lint": "echo 0;"
2121
},
2222
"dependencies": {
23-
"@docusaurus/core": "^3.8.1",
24-
"@docusaurus/plugin-client-redirects": "^3.8.1",
25-
"@docusaurus/preset-classic": "^3.8.1",
26-
"@docusaurus/remark-plugin-npm2yarn": "^3.8.1",
27-
"@docusaurus/theme-mermaid": "^3.8.1",
28-
"@easyops-cn/docusaurus-search-local": "^0.52.1",
29-
"@mdx-js/react": "^3.0.0",
30-
"clsx": "^2.0.0",
31-
"prism-react-renderer": "^2.3.0",
32-
"react": "^19.1.1",
33-
"react-dom": "^19.1.1"
23+
"@docusaurus/core": "3.8.1",
24+
"@docusaurus/plugin-client-redirects": "3.8.1",
25+
"@docusaurus/preset-classic": "3.8.1",
26+
"@docusaurus/remark-plugin-npm2yarn": "3.8.1",
27+
"@docusaurus/theme-mermaid": "3.8.1",
28+
"@docusaurus/theme-search-algolia": "3.8.1",
29+
"@easyops-cn/docusaurus-search-local": "0.52.1",
30+
"@mdx-js/react": "3.1.0",
31+
"clsx": "2.1.1",
32+
"prism-react-renderer": "2.4.1",
33+
"react": "19.1.1",
34+
"react-dom": "19.1.1"
3435
},
3536
"devDependencies": {
36-
"@docusaurus/module-type-aliases": "^3.8.1",
37-
"@docusaurus/tsconfig": "^3.8.1",
38-
"@docusaurus/types": "^3.8.1",
39-
"@harperdb/code-guidelines": "^0.0.2",
40-
"prettier": "^3.6.1",
41-
"typescript": "^5.9.2"
37+
"@docusaurus/module-type-aliases": "3.8.1",
38+
"@docusaurus/tsconfig": "3.8.1",
39+
"@docusaurus/types": "3.8.1",
40+
"@harperdb/code-guidelines": "0.0.2",
41+
"prettier": "3.6.1",
42+
"typescript": "5.9.2"
4243
},
4344
"browserslist": {
4445
"production": [

0 commit comments

Comments
 (0)