Skip to content

Commit b782ad1

Browse files
algolia keys to env vars & clean up
1 parent 77492dc commit b782ad1

11 files changed

+69
-50
lines changed

docker/Dockerfile.docs

+13-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
FROM node:8.1.2-slim as ms-builder
66

7+
ARG algolia_project_id
8+
ARG algolia_public_key
9+
ARG algolia_private_key
10+
ARG algolia_index
11+
ARG algolia_clear_index
12+
713
RUN apt-get update -qq
814
RUN apt-get install -y build-essential
915

@@ -16,7 +22,13 @@ RUN npm install
1622

1723
RUN make build-swagger
1824
RUN make build-ngindox
19-
RUN npm run build
25+
RUN \
26+
ALGOLIA_PROJECT_ID=$algolia_project_id \
27+
ALGOLIA_PUBLIC_KEY=$algolia_private_key \
28+
ALGOLIA_PRIVATE_KEY=$algolia_private_key \
29+
ALGOLIA_INDEX=$algolia_index \
30+
ALGOLIA_CLEAR_INDEX=$algolia_clear_index \
31+
npm run build
2032

2133
#
2234
# Nginx

docker/docker-compose.production.yml

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ services:
88
dockerfile: ./docker/Dockerfile.docs
99
args:
1010
nginx_dir: ./docker/nginx
11+
algolia_project_id: ${ALGOLIA_PROJECT_ID}
12+
algolia_public_key: ${ALGOLIA_PUBLIC_KEY}
13+
algolia_private_key: ${ALGOLIA_PRIVATE_KEY}
14+
algolia_index: ${ALGOLIA_INDEX}
15+
algolia_clear_index: ${ALGOLIA_CLEAR_INDEX}
1116
ports:
1217
- "80:80"
1318
- "443:443"

index.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ const cheerio = require('cheerio');
1818
//
1919

2020
const ALGOLIA_PROJECT_ID = process.env.ALGOLIA_PROJECT_ID;
21+
const ALGOLIA_PUBLIC_KEY = process.env.ALGOLIA_PUBLIC_KEY;
2122
const ALGOLIA_PRIVATE_KEY = process.env.ALGOLIA_PRIVATE_KEY;
2223
const ALGOLIA_INDEX = process.env.ALGOLIA_INDEX;
2324
const ALGOLIA_CLEAR_INDEX = process.env.ALGOLIA_CLEAR_INDEX;
24-
const ALGOLIA_UPDATE_INDEX = (ALGOLIA_PROJECT_ID != undefined &&
25-
ALGOLIA_PRIVATE_KEY != undefined && ALGOLIA_INDEX != undefined);
25+
const ALGOLIA_UPDATE_INDEX = (
26+
ALGOLIA_PROJECT_ID != undefined &&
27+
ALGOLIA_PUBLIC_KEY != undefined &&
28+
ALGOLIA_PRIVATE_KEY != undefined &&
29+
ALGOLIA_INDEX != undefined
30+
);
2631

2732
if(process.env.NODE_ENV == "production" && !ALGOLIA_UPDATE_INDEX) {
2833
console.error("Algolia env variables are not set");
@@ -42,7 +47,7 @@ MS.metadata({
4247
title: "Mesosphere DC/OS",
4348
description: "Lorem ipsum dolor sit amet, consectetur adipisicing elit",
4449
copyright: "@ 2017 Mesosphere, Inc. All rights reserved.",
45-
env: process.env.NODE_ENV
50+
env: process.env.NODE_ENV,
4651
})
4752

4853
// Source
@@ -52,10 +57,7 @@ MS.source('./pages')
5257
MS.destination('./build')
5358

5459
// Clean
55-
if(
56-
process.env.NODE_ENV == "development" ||
57-
ALOGLIA_UPDATE_INDEX
58-
) {
60+
if(process.env.NODE_ENV == "development") {
5961
MS.clean(false)
6062
}
6163
else if(

js/header.js

-30
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,4 @@ if (headerSearch) {
66
headerSearch.addEventListener('focus', () => headerMenu.classList.add('header__menu--hide'));
77
headerSearch.addEventListener('blur', () => headerMenu.classList.remove('header__menu--hide'));
88
headerSearchLabel.addEventListener('click', () => headerSearch.focus());
9-
10-
/**
11-
* Algolia Header Search Config
12-
*/
13-
/*
14-
console.log('Not search page');
15-
const client = algoliasearch('O1RKPTZXK1', '4cc78f4d67f726ba3b2c5bd1ed690fb4');
16-
const index = client.initIndex('dev_MESOSPHERE');
17-
18-
autocomplete('#header-search-input', {
19-
hint: false,
20-
minLength: 3,
21-
debug: true,
22-
}, [
23-
{
24-
source: autocomplete.sources.hits(index, { hitsPerPage: 5 }),
25-
displayKey: 'title',
26-
templates: {
27-
suggestion: suggestion => {
28-
return '<span>' +
29-
suggestion._highlightResult.title.value + '</span><span>' +
30-
suggestion._highlightResult.team.value + '</span>';
31-
}
32-
suggestion: suggestion => suggestion._highlightResult.title.value,
33-
},
34-
},
35-
]).on('autocomplete:selected', (event, suggestion, dataset) => {
36-
console.log(suggestion, dataset);
37-
});
38-
*/
399
}

js/search.js

+28-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,30 @@
11
const landingContainer = document.querySelector('.landing');
22

3+
//
4+
// Env vars injected from webpack config
5+
//
6+
7+
const algoliaProjectId = ALGOLIA_PROJECT_ID;
8+
const algoliaPublicKey = ALGOLIA_PUBLIC_KEY;
9+
const algoliaIndex = ALGOLIA_INDEX;
10+
11+
const algoliaConfigured = (
12+
algoliaProjectId != undefined &&
13+
algoliaPublicKey != undefined &&
14+
algoliaIndex != undefined
15+
);
16+
17+
if(!algoliaConfigured) {
18+
console.error("Algolia not configured.");
19+
}
20+
21+
//
22+
//
23+
//
24+
325
if (landingContainer) {
4-
const client = algoliasearch('O1RKPTZXK1', '00ad2d0be3e5a7155820357a73730e84');
5-
const index = client.initIndex('dev_MESOSPHERE');
26+
const client = algoliasearch(algoliaProjectId, algoliaPublicKey);
27+
const index = client.initIndex(algoliaIndex);
628

729
autocomplete(
830
'#landing-search-input',
@@ -47,16 +69,16 @@ if (searchForm) {
4769
* Algolia Search Page Config
4870
*/
4971
const search = instantsearch({
50-
appId: 'O1RKPTZXK1',
51-
apiKey: '4cc78f4d67f726ba3b2c5bd1ed690fb4',
52-
indexName: 'dev_MESOSPHERE',
72+
appId: algoliaProjectId,
73+
apiKey: algoliaPublicKey,
74+
indexName: algoliaIndex,
5375
urlSync: true,
5476
searchParameters: {
5577
hitsPerPage: 10,
5678
},
5779
});
5880

59-
/**
81+
/**
6082
* Search result templates
6183
*/
6284
const hitTemplate = `

js/toc-scroll.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const inPageToc = document.querySelector('.content__sections-list-container');
22

3-
if (inPageToc.offsetHeight > document.body.clientHeight) {
3+
if (inPageToc && inPageToc.offsetHeight > document.body.clientHeight) {
44
inPageToc.setAttribute('style', `height: ${document.body.clientHeight - 140}px;`);
55

66
const followScroll = (element, position) => {

layouts/partials/head.pug

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ script.
1717
window.dataLayer = window.dataLayer || [];
1818
function gtag(){dataLayer.push(arguments);}
1919
gtag('js', new Date());
20-
gtag('config', 'UA-45222428-2');)
20+
gtag('config', 'UA-45222428-2');
2121

2222
script(src='https://unpkg.com/feather-icons/dist/feather.min.js')
2323
if env != 'development' && env != 'pdf'

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"scripts": {
1111
"dev": "NODE_ENV=development DEBUG=metalsmith-timer node index.js",
12-
"docs": "ALGOLIA_PROJECT_ID=O1RKPTZXK1 ALGOLIA_PRIVATE_KEY=00ad2d0be3e5a7155820357a73730e84 ALGOLIA_INDEX=dev_MESOSPHERE NODE_ENV=development DEBUG=metalsmith-timer node index.js",
12+
"docs": "NODE_ENV=development DEBUG=metalsmith-timer node index.js",
1313
"build": "NODE_ENV=production DEBUG=metalsmith-timer node index.js",
1414
"build-pdf": "NODE_ENV=pdf DEBUG=metalsmith-timer node index.js",
1515
"webpack": "webpack --progress --colors",

scripts/build-pdf.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ if [[ "$docker_image_build_id" != "" ]]; then
1414
fi
1515

1616
#docker-compose -f ./docker/docker-compose.production.yml build --force-rm --no-cache docs
17-
docker-compose -f ./docker/docker-compose.production.yml build pdf
17+
docker-compose -f ./docker/docker-compose.production.yml build --no-cache pdf

scripts/build-site.sh

+5-2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,8 @@ if [[ "$docker_image_build_id" != "" ]]; then
1313
docker rmi $docker_image
1414
fi
1515

16-
#docker-compose -f ./docker/docker-compose.production.yml build --force-rm --no-cache docs
17-
docker-compose -f ./docker/docker-compose.production.yml build docs
16+
ALGOLIA_PROJECT_ID=$ALGOLIA_PROJECT_ID \
17+
ALGOLIA_PRIVATE_KEY=$ALGOLIA_PRIVATE_KEY \
18+
ALGOLIA_INDEX=$ALGOLIA_INDEX \
19+
ALGOLIA_CLEAR_INDEX=$ALGOLIA_CLEAR_INDEX \
20+
docker-compose -f ./docker/docker-compose.production.yml build --no-cache docs

webpack.config.js

+5
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,10 @@ module.exports = {
2626
},
2727
plugins: [
2828
new ExtractTextPlugin('./build/css/styles.css'),
29+
new webpack.DefinePlugin({
30+
ALGOLIA_PROJECT_ID: JSON.stringify(process.env.ALGOLIA_PROJECT_ID),
31+
ALGOLIA_PUBLIC_KEY: JSON.stringify(process.env.ALGOLIA_PUBLIC_KEY),
32+
ALGOLIA_INDEX: JSON.stringify(process.env.ALGOLIA_INDEX),
33+
})
2934
],
3035
};

0 commit comments

Comments
 (0)