-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgatsby-config.ts
94 lines (91 loc) · 2.49 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
import type { GatsbyConfig } from 'gatsby';
import dotenv from 'dotenv';
dotenv.config();
const config: GatsbyConfig = {
siteMetadata: {
title: `Geruso Site`,
siteUrl: `https://www.geruso.com`,
},
// More easily incorporate content into your pages through automatic TypeScript type generation and better GraphQL IntelliSense.
// If you use VSCode you can also use the GraphQL plugin
// Learn more at: https://gatsby.dev/graphql-typegen
graphqlTypegen: true,
plugins: [
{ resolve: 'gatsby-plugin-styled-components' },
{
resolve: 'gatsby-plugin-react-svg',
options: {
rule: {
include: /assets/,
},
},
},
{
resolve: 'gatsby-source-apiserver',
options: {
url: `https://dev.to/api/articles/me`,
method: 'get',
headers: {
'Content-Type': 'application/json',
'api-key': process.env.DEV_API_KEY,
},
},
},
{
resolve: 'gatsby-source-graphql',
options: {
typeName: `GitHub`,
fieldName: `github`,
url: `https://api.github.com/graphql`,
headers: {
Authorization: `Bearer ${process.env.GH_API_KEY}`,
},
},
},
{
resolve: 'gatsby-plugin-sitemap',
options: {
query: `
{
allSitePage {
nodes {
path
}
}
}
`,
resolveSiteUrl: () => `https://www.geruso.com`,
resolvePages: ({ allSitePage: { nodes: allPages } }: any) => {
return allPages.map((page: any) => {
return { ...page };
});
},
serialize: ({ path, modifiedGmt }: any) => {
return {
url: path,
lastmod: modifiedGmt,
};
},
},
},
{
resolve: 'gatsby-plugin-google-gtag',
options: {
trackingIds: [process.env.GA_TRACKING_ID],
pluginConfig: {
// Puts tracking script in the head instead of the body
head: false,
// Setting this parameter is also optional
respectDNT: true,
// Avoids sending pageview hits from custom paths
exclude: ['/preview/**', '/do-not-track/me/too/'],
// Defaults to https://www.googletagmanager.com
origin: 'https://www.googletagmanager.com',
// Delays processing pageview events on route update (in milliseconds)
delayOnRouteUpdate: 0,
},
},
},
],
};
export default config;