init
This commit is contained in:
189
gatsby-config.js
Normal file
189
gatsby-config.js
Normal file
@@ -0,0 +1,189 @@
|
||||
module.exports = {
|
||||
siteMetadata: {
|
||||
title: `Data Controller | Flexible and Secure SAS® Data Modification`,
|
||||
description: `Data Controller for SAS® is dedicated to helping users, admins and developers manage their data. A zero code approach with Data Lineage, Catalog, Dictionary, Validation, Workflow, Alerts and more.`,
|
||||
siteUrl: 'https://datacontroller.io/',
|
||||
author: {
|
||||
name: `Allan Bowe`,
|
||||
summary: ``
|
||||
},
|
||||
social: {
|
||||
linkedin: `https://www.linkedin.com/showcase/data_controller/`
|
||||
}
|
||||
},
|
||||
pathPrefix: '',
|
||||
plugins: [
|
||||
'gatsby-plugin-styled-components',
|
||||
'gatsby-plugin-image',
|
||||
'gatsby-plugin-react-helmet',
|
||||
'gatsby-plugin-sitemap',
|
||||
{
|
||||
resolve: 'gatsby-plugin-manifest',
|
||||
options: {
|
||||
name: `Data Controller | Flexible and Secure SAS® Data Modification`,
|
||||
short_name: `Data Controller`,
|
||||
description: `Data Controller for SAS® is dedicated to helping users, admins and developers manage their data. A zero code approach with Data Lineage, Catalog, Dictionary, Validation, Workflow, Alerts and more.`,
|
||||
homepage_url: 'https://datacontroller.io/',
|
||||
start_url: '/',
|
||||
background_color: '#fff',
|
||||
theme_color: '#314351',
|
||||
display: 'standalone',
|
||||
icon: 'src/images/favicon.png',
|
||||
icon_options: {
|
||||
purpose: `maskable`
|
||||
},
|
||||
cache_busting_mode: 'none'
|
||||
}
|
||||
},
|
||||
{
|
||||
resolve: 'gatsby-plugin-matomo',
|
||||
options: {
|
||||
siteId: 3,
|
||||
matomoUrl: 'https://analytics.4gl.io/',
|
||||
siteUrl: 'https://datacontroller.io/',
|
||||
},
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
path: `./content/blog`,
|
||||
name: `blog`
|
||||
},
|
||||
__key: 'blog'
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
name: `markdown-pages`,
|
||||
path: `./src/markdown-pages`
|
||||
},
|
||||
__key: 'markdown-pages'
|
||||
},
|
||||
{
|
||||
resolve: 'gatsby-transformer-remark',
|
||||
options: {
|
||||
plugins: [
|
||||
{
|
||||
resolve: 'gatsby-remark-embed-video',
|
||||
options: {
|
||||
width: 750,
|
||||
related: false //Optional: Will remove related videos from the end of an embedded YouTube video.
|
||||
}
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-remark-images`,
|
||||
options: {
|
||||
maxWidth: 630
|
||||
}
|
||||
},
|
||||
{
|
||||
resolve: 'gatsby-remark-responsive-iframe',
|
||||
options: {
|
||||
wrapperStyle: 'margin-bottom: 1.0725rem'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
'gatsby-plugin-sharp',
|
||||
'gatsby-transformer-sharp',
|
||||
{
|
||||
resolve: 'gatsby-source-filesystem',
|
||||
options: {
|
||||
name: 'images',
|
||||
path: './src/images/'
|
||||
},
|
||||
__key: 'images'
|
||||
},
|
||||
{
|
||||
resolve: 'gatsby-source-filesystem',
|
||||
options: {
|
||||
name: 'pages',
|
||||
path: './src/pages/'
|
||||
},
|
||||
__key: 'pages'
|
||||
},
|
||||
{
|
||||
resolve: `gatsby-plugin-google-fonts`,
|
||||
options: {
|
||||
fonts: [`Montserrat\:300,400,500`],
|
||||
display: 'swap'
|
||||
}
|
||||
},
|
||||
{
|
||||
resolve: 'gatsby-plugin-local-search',
|
||||
options: {
|
||||
// A unique name for the search index. This should be descriptive of
|
||||
// what the index contains. This is required.
|
||||
name: 'blog',
|
||||
|
||||
// Set the search engine to create the index. This is required.
|
||||
// The following engines are supported: flexsearch, lunr
|
||||
engine: 'flexsearch',
|
||||
|
||||
// Provide options to the engine. This is optional and only recommended
|
||||
// for advanced users.
|
||||
//
|
||||
// Note: Only the flexsearch engine supports options.
|
||||
engineOptions: 'speed',
|
||||
|
||||
// GraphQL query used to fetch all data for the search index. This is
|
||||
// required.
|
||||
query: `
|
||||
{
|
||||
remark: allMarkdownRemark (filter: {fileAbsolutePath: {regex: "/content/blog/"}}) {
|
||||
posts: edges {
|
||||
post: node {
|
||||
id
|
||||
html
|
||||
fields {
|
||||
slug
|
||||
}
|
||||
frontmatter {
|
||||
title
|
||||
date(formatString: "MMMM DD, YYYY")
|
||||
author
|
||||
authorLink
|
||||
previewImg {
|
||||
childImageSharp {
|
||||
gatsbyImageData(layout: CONSTRAINED)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`,
|
||||
|
||||
// Field used as the reference value for each document.
|
||||
// Default: 'id'.
|
||||
ref: 'id',
|
||||
|
||||
// List of keys to index. The values of the keys are taken from the
|
||||
// normalizer function below.
|
||||
// Default: all fields
|
||||
index: ['title', 'html'],
|
||||
|
||||
// List of keys to store and make available in your UI. The values of
|
||||
// the keys are taken from the normalizer function below.
|
||||
// Default: all fields
|
||||
// store: ['id', 'path', 'title'],
|
||||
|
||||
// Function used to map the result from the GraphQL query. This should
|
||||
// return an array of items to index in the form of flat objects
|
||||
// containing properties to index. The objects must contain the `ref`
|
||||
// field above (default: 'id'). This is required.
|
||||
normalizer: ({ data }) =>
|
||||
data.remark.posts.map((data) => ({
|
||||
id: data.post.id,
|
||||
slug: data.post.fields.slug,
|
||||
title: data.post.frontmatter.title,
|
||||
date: data.post.frontmatter.date,
|
||||
previewImg: data.post.frontmatter.previewImg,
|
||||
html: data.post.html
|
||||
}))
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user