-
Notifications
You must be signed in to change notification settings - Fork 0
/
gatsby-config.ts
122 lines (115 loc) · 3.18 KB
/
gatsby-config.ts
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import path from 'path';
import { GatsbyConfig } from 'gatsby';
import deCHMessages from './content/i18n/de-CH.json';
import enUSMessages from './content/i18n/en-US.json';
import zhCNMessages from './content/i18n/zh-CN.json';
import packageJson from './package.json';
require('dotenv').config({
path: `.env.${process.env.NODE_ENV}`,
});
const siteUrl = process.env.SITE_URL || `https://example.com`;
const configuration: GatsbyConfig = {
pathPrefix: process.env.PATH_PREFIX || '/',
siteMetadata: {
title: `Gatsby Starter Dogmatism`,
description: `This is a quite opinionated Gatsby starter.`,
author: `openscript`,
siteUrl,
version: packageJson.version,
project: packageJson.name,
},
graphqlTypegen: {
typesOutputPath: 'graphql-types.ts',
documentSearchPaths: [`./gatsby-node.ts`, `./plugins/**/gatsby-node.ts`, `./src/**/*.ts?(x)`],
generateOnBuild: true,
},
plugins: [
// Sources
{
resolve: `gatsby-source-filesystem`,
options: {
name: `data`,
path: path.resolve(`content/data`),
},
},
// Transformers
`gatsby-transformer-sharp`,
// Plugins
`gatsby-plugin-image`,
`gatsby-plugin-catch-links`,
{
resolve: 'gatsby-plugin-mdx',
options: {
extensions: [`.md`, `.mdx`],
gatsbyRemarkPlugins: [
'gatsby-remark-copy-linked-files',
{
resolve: 'gatsby-remark-images',
options: {
maxWidth: 1140,
quality: 90,
linkImagesToOriginal: false,
},
},
'gatsby-remark-autolink-headers',
],
},
},
{
resolve: `gatsby-plugin-emotion`,
options: {
// Accepts the following options, all of which are defined by `@emotion/babel-plugin` plugin.
// The values for each key in this example are the defaults the plugin uses.
sourceMap: true,
autoLabel: 'dev-only',
labelFormat: `[local]`,
cssPropOptimization: true,
},
},
`gatsby-plugin-sharp`,
{
resolve: `gatsby-plugin-manifest`,
options: {
name: `gatsby-starter-default`,
short_name: `starter`,
start_url: `/`,
background_color: `#663399`,
theme_color: `#663399`,
display: `minimal-ui`,
icon: `content/statics/icon.png`, // This path is relative to the root of the site.
},
},
// this (optional) plugin enables Progressive Web App + Offline functionality
// To learn more, visit: https://gatsby.dev/offline
// `gatsby-plugin-offline`,
// Local plugins
{
resolve: `gatsby-plugin-i18n-l10n`,
options: {
defaultLocale: `en-US`,
siteUrl,
locales: [
{
locale: `en-US`,
prefix: `en`,
slugs: {},
messages: enUSMessages,
},
{
locale: `de-CH`,
prefix: `de`,
slugs: {},
messages: deCHMessages,
},
{
locale: `zh-CN`,
prefix: `zh`,
slugs: {},
messages: zhCNMessages,
},
],
},
},
],
};
export default configuration;