Ivan Li
032a2285ec
Some checks reported errors
continuous-integration/drone Build encountered an error
148 lines
4.6 KiB
JavaScript
Executable File
148 lines
4.6 KiB
JavaScript
Executable File
require(`dotenv`).config()
|
||
|
||
const shouldAnalyseBundle = process.env.ANALYSE_BUNDLE
|
||
|
||
module.exports = {
|
||
siteMetadata: {
|
||
// You can overwrite values here that are used for the SEO component
|
||
// You can also add new values here to query them like usual
|
||
// See all options: https://github.com/LekoArts/gatsby-themes/blob/main/themes/gatsby-theme-minimal-blog/gatsby-config.js
|
||
siteTitle: `Ivan's Blog`,
|
||
siteTitleAlt: `Ivan Li 的个人博客`,
|
||
siteHeadline: `Ivan Li 的个人博客`,
|
||
siteUrl: `https://ivanli.cc/`,
|
||
siteDescription: `一个 Web 全栈开发者、嵌入式开发爱好者,与你分享我的工作和生活。专注 React、Node.js、Rust,热爱 Self-Hosted、IoT、硬件。`,
|
||
siteLanguage: `zh`,
|
||
siteImage: `/banner.jpg`,
|
||
author: `Ivan Li`,
|
||
},
|
||
plugins: [
|
||
{
|
||
resolve: `@lekoarts/gatsby-theme-minimal-blog`,
|
||
// See the theme's README for all available options
|
||
options: {
|
||
navigation: [
|
||
{
|
||
title: `Blog`,
|
||
slug: `/blog`,
|
||
},
|
||
{
|
||
title: `About`,
|
||
slug: `/about`,
|
||
},
|
||
],
|
||
// externalLinks: [
|
||
// {
|
||
// name: `Twitter`,
|
||
// url: `https://twitter.com/lekoarts_de`,
|
||
// },
|
||
// {
|
||
// name: `Homepage`,
|
||
// url: `https://www.lekoarts.de?utm_source=minimal-blog&utm_medium=Starter`,
|
||
// },
|
||
// ],
|
||
},
|
||
},
|
||
{
|
||
resolve: `gatsby-omni-font-loader`,
|
||
options: {
|
||
enableListener: true,
|
||
preconnect: [`https://fonts.gstatic.com`],
|
||
// If you plan on changing the font you'll also need to adjust the Theme UI config to edit the CSS
|
||
// See: https://github.com/LekoArts/gatsby-themes/tree/main/examples/minimal-blog#changing-your-fonts
|
||
web: [
|
||
{
|
||
name: `IBM Plex Sans`,
|
||
file: `https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&display=swap`,
|
||
},
|
||
],
|
||
},
|
||
},
|
||
`gatsby-plugin-sitemap`,
|
||
{
|
||
resolve: `gatsby-plugin-manifest`,
|
||
options: {
|
||
name: `Ivan Li 的个人博客`,
|
||
short_name: `Ivan's Blog`,
|
||
description: `一个 Web 全栈开发者、嵌入式开发爱好者,与你分享我的工作和生活。专注 React、Node.js、Rust,热爱 Self-Hosted、IoT、硬件。`,
|
||
start_url: `/`,
|
||
background_color: `#fff`,
|
||
// This will impact how browsers show your PWA/website
|
||
// https://css-tricks.com/meta-theme-color-and-trickery/
|
||
// theme_color: `#6B46C1`,
|
||
display: `standalone`,
|
||
icons: [
|
||
{
|
||
src: `/android-chrome-192x192.png`,
|
||
sizes: `192x192`,
|
||
type: `image/png`,
|
||
},
|
||
{
|
||
src: `/android-chrome-512x512.png`,
|
||
sizes: `512x512`,
|
||
type: `image/png`,
|
||
},
|
||
],
|
||
},
|
||
},
|
||
{
|
||
resolve: `gatsby-plugin-feed`,
|
||
options: {
|
||
query: `
|
||
{
|
||
site {
|
||
siteMetadata {
|
||
title: siteTitle
|
||
description: siteDescription
|
||
siteUrl
|
||
site_url: siteUrl
|
||
}
|
||
}
|
||
}
|
||
`,
|
||
feeds: [
|
||
{
|
||
serialize: ({ query: { site, allPost } }) =>
|
||
allPost.nodes.map((post) => {
|
||
const url = site.siteMetadata.siteUrl + post.slug
|
||
const content = `<p>${post.excerpt}</p><div style="margin-top: 50px; font-style: italic;"><strong><a href="${url}">Keep reading</a>.</strong></div><br /> <br />`
|
||
|
||
return {
|
||
title: post.title,
|
||
date: post.date,
|
||
excerpt: post.excerpt,
|
||
url,
|
||
guid: url,
|
||
custom_elements: [{ "content:encoded": content }],
|
||
}
|
||
}),
|
||
query: `
|
||
{
|
||
allPost(sort: { fields: date, order: DESC }) {
|
||
nodes {
|
||
title
|
||
date(formatString: "MMMM D, YYYY")
|
||
excerpt
|
||
slug
|
||
}
|
||
}
|
||
}
|
||
`,
|
||
output: `rss.xml`,
|
||
title: `Minimal Blog - @lekoarts/gatsby-theme-minimal-blog`,
|
||
},
|
||
],
|
||
},
|
||
},
|
||
`gatsby-plugin-gatsby-cloud`,
|
||
shouldAnalyseBundle && {
|
||
resolve: `gatsby-plugin-webpack-bundle-analyser-v2`,
|
||
options: {
|
||
analyzerMode: `static`,
|
||
reportFilename: `_bundle.html`,
|
||
openAnalyzer: false,
|
||
},
|
||
},
|
||
].filter(Boolean),
|
||
}
|