mirror of
				https://github.com/mastermindzh/rickvanlieshout.com
				synced 2025-10-31 08:40:27 +01:00 
			
		
		
		
	Protects us against attacks described [here](https://mathiasbynens.github.io/rel-noopener/). The defaults set by the [plugin](https://github.com/JLongley/gatsby-remark-external-links) are 'target=_blank' and 'rel=nofollow noopener noreferrer'.
		
			
				
	
	
		
			194 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			194 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const siteConfig = require('./config.js');
 | |
| const postCssPlugins = require('./postcss-config.js');
 | |
| 
 | |
| module.exports = {
 | |
|   pathPrefix: siteConfig.pathPrefix,
 | |
|   siteMetadata: {
 | |
|     url: siteConfig.url,
 | |
|     title: siteConfig.title,
 | |
|     subtitle: siteConfig.subtitle,
 | |
|     copyright: siteConfig.copyright,
 | |
|     disqusShortname: siteConfig.disqusShortname,
 | |
|     menu: siteConfig.menu,
 | |
|     author: siteConfig.author
 | |
|   },
 | |
|   plugins: [
 | |
|     {
 | |
|       resolve: 'gatsby-source-filesystem',
 | |
|       options: {
 | |
|         path: `${__dirname}/content`,
 | |
|         name: 'pages'
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-source-filesystem',
 | |
|       options: {
 | |
|         path: `${__dirname}/static/media`,
 | |
|         name: 'media'
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-source-filesystem',
 | |
|       options: {
 | |
|         name: 'assets',
 | |
|         path: `${__dirname}/static`
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-feed',
 | |
|       options: {
 | |
|         query: `
 | |
|           {
 | |
|             site {
 | |
|               siteMetadata {
 | |
|                 site_url: url
 | |
|                 title
 | |
|                 description: subtitle
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         `,
 | |
|         feeds: [{
 | |
|           serialize: ({ query: { site, allMarkdownRemark } }) => (
 | |
|             allMarkdownRemark.edges.map((edge) => Object.assign({}, edge.node.frontmatter, {
 | |
|               description: edge.node.frontmatter.description,
 | |
|               date: edge.node.frontmatter.date,
 | |
|               url: site.siteMetadata.site_url + edge.node.fields.slug,
 | |
|               guid: site.siteMetadata.site_url + edge.node.fields.slug,
 | |
|               custom_elements: [{ 'content:encoded': edge.node.html }]
 | |
|             }))
 | |
|           ),
 | |
|           query: `
 | |
|               {
 | |
|                 allMarkdownRemark(
 | |
|                   limit: 1000,
 | |
|                   sort: { order: DESC, fields: [frontmatter___date] },
 | |
|                   filter: { frontmatter: { template: { eq: "post" }, draft: { ne: true } } }
 | |
|                 ) {
 | |
|                   edges {
 | |
|                     node {
 | |
|                       html
 | |
|                       fields {
 | |
|                         slug
 | |
|                       }
 | |
|                       frontmatter {
 | |
|                         title
 | |
|                         date
 | |
|                         template
 | |
|                         draft
 | |
|                         description
 | |
|                       }
 | |
|                     }
 | |
|                   }
 | |
|                 }
 | |
|               }
 | |
|             `,
 | |
|           output: '/rss.xml'
 | |
|         }]
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-transformer-remark',
 | |
|       options: {
 | |
|         plugins: [
 | |
|           {
 | |
|             resolve: 'gatsby-remark-katex',
 | |
|             options: {
 | |
|               strict: 'ignore'
 | |
|             }
 | |
|           },
 | |
|           {
 | |
|             resolve: 'gatsby-remark-images',
 | |
|             options: { maxWidth: 960 }
 | |
|           },
 | |
|           {
 | |
|             resolve: 'gatsby-remark-responsive-iframe',
 | |
|             options: { wrapperStyle: 'margin-bottom: 1.0725rem' }
 | |
|           },
 | |
|           'gatsby-remark-autolink-headers',
 | |
|           'gatsby-remark-prismjs',
 | |
|           'gatsby-remark-copy-linked-files',
 | |
|           'gatsby-remark-smartypants',
 | |
|           'gatsby-remark-external-links'
 | |
|         ]
 | |
|       }
 | |
|     },
 | |
|     'gatsby-transformer-sharp',
 | |
|     'gatsby-plugin-sharp',
 | |
|     'gatsby-plugin-netlify',
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-netlify-cms',
 | |
|       options: {
 | |
|         modulePath: `${__dirname}/src/cms/index.js`,
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-google-gtag',
 | |
|       options: {
 | |
|         trackingIds: [siteConfig.googleAnalyticsId],
 | |
|         pluginConfig: {
 | |
|           head: true,
 | |
|         },
 | |
|       },
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-sitemap',
 | |
|       options: {
 | |
|         query: `
 | |
|           {
 | |
|             site {
 | |
|               siteMetadata {
 | |
|                 siteUrl: url
 | |
|               }
 | |
|             }
 | |
|             allSitePage(
 | |
|               filter: {
 | |
|                 path: { regex: "/^(?!/404/|/404.html|/dev-404-page/)/" }
 | |
|               }
 | |
|             ) {
 | |
|               edges {
 | |
|                 node {
 | |
|                   path
 | |
|                 }
 | |
|               }
 | |
|             }
 | |
|           }
 | |
|         `,
 | |
|         output: '/sitemap.xml',
 | |
|         serialize: ({ site, allSitePage }) => allSitePage.edges.map((edge) => ({
 | |
|           url: site.siteMetadata.siteUrl + edge.node.path,
 | |
|           changefreq: 'daily',
 | |
|           priority: 0.7
 | |
|         }))
 | |
|       }
 | |
|     },
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-manifest',
 | |
|       options: {
 | |
|         name: siteConfig.title,
 | |
|         short_name: siteConfig.title,
 | |
|         start_url: '/',
 | |
|         background_color: '#FFF',
 | |
|         theme_color: '#F7A046',
 | |
|         display: 'standalone',
 | |
|         icon: 'static/photo.jpg'
 | |
|       },
 | |
|     },
 | |
|     'gatsby-plugin-offline',
 | |
|     'gatsby-plugin-catch-links',
 | |
|     'gatsby-plugin-react-helmet',
 | |
|     {
 | |
|       resolve: 'gatsby-plugin-sass',
 | |
|       options: {
 | |
|         postCssPlugins: [...postCssPlugins],
 | |
|         cssLoaderOptions: {
 | |
|           camelCase: false,
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     'gatsby-plugin-flow',
 | |
|   ]
 | |
| };
 |