-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
gatsby-config.js
125 lines (125 loc) · 2.57 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
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
123
124
125
module.exports = {
siteMetadata: {
title: 'Jiří Pudil',
description: 'A full-stack web developer from Brno',
author: '@jiripudil',
siteUrl: 'https://jiripudil.cz',
},
plugins: [
{
resolve: 'gatsby-plugin-manifest',
options: {
lang: 'en',
start_url: '/',
icon: './src/images/me.jpg',
},
},
{
resolve: 'gatsby-plugin-feed',
options: {
query: `
{
site {
siteMetadata {
title
description
siteUrl
site_url: siteUrl
}
}
}
`,
feeds: [
{
query: `
{
allMarkdownRemark(
filter: {frontmatter: {draft: {eq: false}}},
sort: {fields: [frontmatter___datetime], order: DESC},
limit: 15,
) {
edges {
node {
frontmatter {
title
slug
datetime
perex
tags
}
}
}
}
}
`,
serialize: ({query: {site, allMarkdownRemark}}) => {
return allMarkdownRemark.edges.map((edge) => {
return Object.assign({}, edge.node.frontmatter, {
description: edge.node.frontmatter.perex,
date: edge.node.frontmatter.datetime,
url: `${site.siteMetadata.siteUrl}/blog/${edge.node.frontmatter.slug}`,
guid: `${site.siteMetadata.siteUrl}/blog/${edge.node.frontmatter.slug}`,
});
});
},
output: '/blog/rss',
title: 'Blog – Jiří Pudil',
},
],
},
},
{
resolve: '@slixites/gatsby-plugin-google-fonts',
options: {
fonts: ['PT Sans:400,700'],
formats: ['woff', 'woff2'],
display: 'swap',
preconnect: true,
attributes: {
rel: 'stylesheet preload prefetch',
as: 'style',
},
},
},
'gatsby-plugin-react-helmet',
'gatsby-plugin-sass',
'gatsby-plugin-image',
'gatsby-plugin-sharp',
'gatsby-plugin-sitemap',
'gatsby-plugin-typescript',
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'posts',
path: `${__dirname}/src/blog/posts`,
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'images',
path: `${__dirname}/src/images`,
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
name: 'data',
path: `${__dirname}/src/data`,
},
},
'gatsby-transformer-json',
{
resolve: 'gatsby-transformer-remark',
options: {
plugins: [
'gatsby-remark-emoji',
'gatsby-remark-images',
'gatsby-remark-autolink-headers',
'gatsby-remark-prismjs',
],
},
},
'gatsby-transformer-sharp',
],
};