-
Notifications
You must be signed in to change notification settings - Fork 34
/
gatsby-config.js
92 lines (88 loc) · 2.53 KB
/
gatsby-config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* eslint-env node */
const {lstatSync, readdirSync} = require('fs');
const path = require('path');
function getPackages(source) {
const isDirectory = dir =>
lstatSync(source).isDirectory(path.join(source, dir));
return readdirSync(source).filter(isDirectory);
}
function createSourcePlugins() {
return getPackages(path.join(__dirname, './fusion')).map(pkg => {
const pkgOriginal = pkg === 'fusion-docs' ? 'fusionjs.github.io' : '';
return {
resolve: 'gatsby-source-filesystem',
options: {
name: `package|${pkg}${pkgOriginal ? `|${pkgOriginal}` : ''}`,
path: path.join(__dirname, './fusion', pkg),
},
};
});
}
function isDevEnv() {
return process.env['NODE_ENV'] === 'development';
}
module.exports = {
siteMetadata: {
title: 'Fusion.js Development',
},
pathPrefix: '/',
plugins: [
'gatsby-plugin-react-next',
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'docs',
path: path.join(__dirname, './documentation/docs'),
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'api',
path: path.join(__dirname, './documentation/api'),
},
},
...createSourcePlugins(),
'gatsby-plugin-react-helmet',
{
resolve: 'gatsby-transformer-remark',
options: {
plugins: [
'gatsby-remark-transform-links',
'gatsby-remark-autolink-headers',
{
resolve: 'gatsby-remark-images',
options: {
linkImagesToOriginal: false,
maxWidth: 600,
wrapperStyle: 'border: 1px solid #ddd;',
},
},
{
resolve: 'gatsby-remark-prismjs',
options: {
// Class prefix for <pre> tags containing syntax highlighting;
// defaults to 'language-' (eg <pre class="language-js">).
// If your site loads Prism into the browser at runtime,
// (eg for use with libraries like react-live),
// you may use this to prevent Prism from re-processing syntax.
// This is an uncommon use-case though;
// If you're unsure, it's best to use the default value.
classPrefix: 'gatsby-remark-',
aliases: {
sh: 'bash',
},
},
},
],
},
},
'gatsby-plugin-catch-links',
{
resolve: 'gatsby-plugin-google-analytics',
options: {
trackingId: 'UA-123210196-1',
},
},
],
};