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 = `
${post.excerpt}