Gatsby 入门示例

简介: Gatsby 初始化项目

初始化项目


refs:



npx gatsby new gatsby-demo https://github.com/gatsbyjs/gatsby-starter-blog


Plugins


MDX


修改项目:


  • 添加对应的依赖项 yarn add gatsby-plugin-mdx @mdx-js/mdx @mdx-js/react
  • 修改配置
  • 删除没用的依赖项 yarn remove gatsby-plugin-image gatsby-transformer-remark gatsby-plugin-gatsby-cloud
  • 修改 GraphQL 查询语句及相关页面的模板
  • 测试运行,细节调整


refs:



Sitemap


修改项目:


  • 安装插件 yarn add gatsby-plugin-sitemap
  • 修改配置
  • 打包测试(运行 develop 不生成)


配置中需要指定 GraphQL 查询,以 MDX 为例:


const siteUrl = process.env.URL || `https://fallback.net`


module.exports = {

 siteMetadata: {

  // 注意 siteUrl 需要提前赋值变量

   siteUrl,

 },

 plugins: [

    //  其他插件

   {

     resolve: `gatsby-plugin-sitemap`,

     options: {

       query: `

       {

         allSitePage {

           nodes {

             path

           }

         }

         allMdx(sort: { fields: [frontmatter___date], order: DESC }) {

           nodes {

             fields {

               slug

             }

             frontmatter {

               date

             }

           }

         }

       }

     `,

       resolveSiteUrl: () => siteUrl,

       resolvePages: ({

         allSitePage: { nodes: allPages },

         allMdx: { nodes: allNodes },

       }) => {

         const allNodeMap = allNodes.reduce((acc, node) => {

           const { slug } = node.fields

           acc[slug] = {

             path: slug,

             modifiedGmt: node.frontmatter.date,

           }


           return acc

         }, {})

         return allPages.map(page => {

           return { ...page, ...allNodeMap[page.path] }

         })

       },

       serialize: ({ path, modifiedGmt = "" }) => {

         return {

           url: path,

           lastmod: modifiedGmt,

         }

       },

     },

   },

 ],

}


refs:



Dark Mode


修改项目:


  • 安装插件 yarn add gatsby-plugin-theme-switcher
  • 修改配置
  • 添加主题切换 component
  • 添加主题样式(通过 css vars 或者其他)
  • 运行并测试效果


refs:


相关文章
|
4月前
|
JavaScript Java 测试技术
基于小程序的教学辅助微信小程序+springboot+vue.js附带文章和源代码说明文档ppt
基于小程序的教学辅助微信小程序+springboot+vue.js附带文章和源代码说明文档ppt
42 1
|
4月前
|
JavaScript Java 测试技术
基于小程序的考研论坛设计+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的考研论坛设计+springboot+vue.js附带文章和源代码设计说明文档ppt
33 1
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的短文写作竞赛管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的短文写作竞赛管理系统附带文章源码部署视频讲解等
22 5
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的在线小说阅读平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的在线小说阅读平台附带文章源码部署视频讲解等
23 1
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的短文写作竞赛管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的短文写作竞赛管理系统附带文章源码部署视频讲解等
23 1
|
3月前
|
Java 测试技术 数据安全/隐私保护
基于ssm+vue.js+uniapp小程序的《诗词赏析》课程网站附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的《毛泽东诗词赏析》课程网站附带文章和源代码部署视频讲解等
21 0
基于ssm+vue.js+uniapp小程序的《诗词赏析》课程网站附带文章和源代码部署视频讲解等
|
4月前
|
JavaScript Java 测试技术
基于小程序的在线课堂+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的在线课堂+springboot+vue.js附带文章和源代码设计说明文档ppt
27 0
|
4月前
|
JavaScript Java 测试技术
基于小程序的绘画学习平台+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的绘画学习平台+springboot+vue.js附带文章和源代码设计说明文档ppt
40 0
|
11月前
|
JSON JavaScript 前端开发
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿
566 0
|
11月前
|
JavaScript 前端开发 算法
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(七)放大镜实战
84 0