首先使用npm安装gatsby,使用gatsby –version命令可以查看是否安装
npm install -g gatsby-cli
使用new命令后面跟着目录名,即可创建一个gatsby项目
gatsby new website
使用develop参数即可启用gatsby服务
gatsby develop
进入到8000端口后即可访问默认的页面,不过本文章是创建个人博客
在创建项目时后面跟着一个github地址,这个是gatsby官方的一个博客模板
gatsby new blog https://github.com/gatsbyjs/gatsby-starter-blog
这个是项目的目录结构
C:.
├─content
│ └─blog
│ ├─hello-world
│ ├─my-second-post
│ └─new-beginnings
├─src
│ ├─components
│ ├─images
│ ├─pages
│ └─templates
└─static
content下主要是markdown文件,但如果要被识别为blog还需要在blog里创建markdown文件
主要看blog里都有哪些文件,每个文件夹下都有一个index.md文件,这里会根据文件夹的名称来决定地址名是什么
C:.
├─hello-world
│ index.md
│ salty_egg.jpg
│
├─my-second-post
│ index.md
│
└─new-beginnings
index.md
这里可以直接在blog中创建markdown文件,地址名就是markdown文件名
每个markdown文件的前几行都会有用3个横杠抱起来的内容,这个就是Front-matter格式,博客的信息都会从这里获取,title是博客的标题,date是发布时间,description是描述,其中时间必须遵守正确的格式
---
title: "如何使用Gatsby创建自己的博客"
date: 2022-09-28T11:16:00+0800
categroy: javascript
---
现在来介绍如何使用GitHub的pages服务,首先需要在项目下安装gh-pages
npm install gh-pages --save-dev
在项目的gatsby的config文件中添加pathPrefix,这里选择没前缀
module.exports = {
pathPrefix: "/"
}
在scripts中添加deploy,意思就是让gatsby生成页面,随后用gh-pages将public的目录中所有文件推送到项目的gh-pages分支中,使用npm run deploy即可部署到GitHub中
"scripts": {
"deploy": "gatsby build --prefix-paths && gh-pages -d public"
}
进入到项目的setting页面,选择左侧的pages,将分支选为gh-pages这个分支
如果需要没有自己的域名就把仓库设置为这个格式,注意的是GitHub的用户名而不是昵称,如果有自己域名那就让域名解析CNAME到这个地址中,并且在项目的static目录下创建CNAME文件,填入你的域名