blog/gatsby-config.js

130 lines
3.3 KiB
JavaScript

module.exports = {
siteMetadata: {
title: 'While False Blog',
author: 'Stephan Dörfler',
description: 'Self-built developer blog based on gatsby.',
siteUrl: 'https://blog.while-false.de',
type: 'website',
},
plugins: [
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/content/blog`,
name: 'blog',
},
},
{
resolve: 'gatsby-source-filesystem',
options: {
path: `${__dirname}/content/assets`,
name: 'assets',
},
},
{
resolve: 'gatsby-transformer-remark',
options: {
plugins: [
{
resolve: 'gatsby-remark-images',
options: {
maxWidth: 590,
},
},
{
resolve: 'gatsby-remark-responsive-iframe',
options: {
wrapperStyle: 'margin-bottom: 1.0725rem',
},
},
'gatsby-remark-prismjs',
'gatsby-remark-copy-linked-files',
'gatsby-remark-smartypants',
],
},
},
'gatsby-transformer-sharp',
'gatsby-plugin-sharp',
{
resolve: 'gatsby-plugin-matomo',
options: {
siteId: '1',
matomoUrl: 'https://matomo.while-false.de',
siteUrl: 'https://blog.while-false.de',
matomoPhpScript: 'matomo.php',
matomoJsScript: 'matomo.js',
},
},
{
resolve: 'gatsby-plugin-feed',
options: {
query: `
{
site {
siteMetadata {
title
description
siteUrl
site_url: siteUrl
}
}
}
`,
feeds: [
{
serialize: ({ query: { site, allMarkdownRemark } }) => allMarkdownRemark.edges.map((edge) => ({
...edge.node.frontmatter,
description: edge.node.excerpt,
date: edge.node.frontmatter.date,
url: site.siteMetadata.siteUrl + edge.node.fields.slug,
guid: site.siteMetadata.siteUrl + edge.node.fields.slug,
custom_elements: [{ 'content:encoded': edge.node.html }],
})),
query: `
{
allMarkdownRemark(
sort: { order: DESC, fields: [frontmatter___date] },
) {
edges {
node {
excerpt
html
fields { slug }
frontmatter {
title
date
}
}
}
}
}
`,
output: '/rss.xml',
title: 'while-false blog RSS Feed',
},
],
},
},
{
resolve: 'gatsby-plugin-manifest',
options: {
name: 'While False Blog',
short_name: 'while-false',
start_url: '/',
background_color: '#f9ebe0',
theme_color: '#3b7080',
display: 'minimal-ui',
icon: 'content/assets/logo.png',
},
},
'gatsby-plugin-offline',
'gatsby-plugin-react-helmet',
{
resolve: 'gatsby-plugin-typography',
options: {
pathToConfigModule: 'src/utils/typography',
},
},
],
};