1-Hexo搭建博客并部署到GithubPages
1.事前准备
- 域名(非必须,你也可以使用免费域名,或者
GitHub.io或Pages.dev分配的域名也可以) - GitHub(必须,你需要注册一个GitHub帐号)
2.软件支持
2.1.安装 Node
打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/en
下载后安装,安装的目录可以使用默认目录
C:/Program Files/nodejs/安装完成后,检查是否安装成功。在键盘按下win + R键,输入CMD,然后回车,打开CMD窗口,执行
node -v命令,看到版本信息,则说明安装成功。修改npm源。npm下载各种模块,默认是从国处服务器下载,速度较慢,建议配置成华为云镜像源。打开CMD窗口,运行如下命令:
1
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
2.2.安装 Git
- 进入官网下载适合你当前系统的 Git:https://git-scm.com/downloads
- 下载后傻瓜式安装Git即可,安装的目录最好使用默认目录
C:/Program Files/Git - 点击电脑左下角开始即可看见
Git CMD、Git Bash、Git GUI。Git CMD是windows 命令行的指令风格Git Bash是linux系统的指令风格(建议使用)Git GUI是图形化界面(新手学习不建议使用)
3.配置 Git 密钥并连接至 Github
常用 Git 命令
1 | git config -l //查看所有配置 |
3.1. 配置用户名和邮箱
1 | git config --global user.name "你的用户名" |
通过git config -l 检查是否配置成功。
3.2. 配置公钥连接Github
执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github
1
ssh-keygen -t rsa -C "你的邮箱"
之后会让你输入想要生成公钥的文件
假如刚刚不输入直接按enter的话,之后可以去~/.ssh/中找到如下两个文件
id_rsa私钥id_rsa.pub公钥
用记事本打开上述图片中的公钥id_rsa.pub,复制里面的内容,然后开始在github中配置ssh密钥。
修改本地的config文件,加上以下内容
1
2
3
4
5Host github.com
HostName ssh.github.com
User git
Port 443
IdentityFile ~/.ssh/id_rsa将 SSH KEY 配置到 GitHub
进入github,点击右上角头像 选择settings,进入设置页后选择SSH and GPG keys,名字随便起,公钥填到Key那一栏。
- 测试连接,输入以下命令
第一次连接会提示Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes即可
出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。
1 | ssh -T git@github.com |
3.3. 创建GitHub.io仓库
- 点击右上角的
+按钮,选择New repository,创建一个<用户名>.github.io的仓库。 - 仓库名字的格式必须为:
<用户名>.github.io(注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名) - 可见性必须选择
Public方便第一次部署检查问题,点击 Creat repository 进行创建即可
4.初始化 Hexo 博客
创建一个文件夹来保存博客源码(我这里选的路径为
D:/Hexo-Blog),在文件夹内右键鼠标,选择Open Git Bash here在
Git BASH输入如下命令安装 Hexo1
npm install -g hexo-cli && hexo -v
安装完后输入
hexo -v验证是否安装成功。初始化 Hexo 项目安装相关依赖。
1
2
3hexo init blog-demo
cd blog-demo
npm i初始化项目后,
blog-demo有如下结构:
- node_modules:依赖包
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- .npmignore:发布时忽略的文件(可忽略)
- _config.landscape.yml:主题的配置文件
- config.yml:博客的配置文件
- package.json:项目名称、描述、版本、运行和开发等信
- 输入
hexo cl && hexo s启动项目 - 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。
5. 更换主题(可选)
- 安装fluid主题
在blog-demo下输入以下命令
1 | npm install --save hexo-theme-fluid |
- 修改配置文件
在博客目录下新建_config.fluid.yml,内容如下https://github.com/fluid-dev/hexo-theme-fluid/blob/master/_config.yml
修改_config.yml中的以下内容
1 | theme: fluid # 指定主题 |
- 创建关于页
1 | hexo new page about |
创建成功后修改 /source/about/index.md,添加 layout 属性。
修改后的文件示例如下:
1 | --- |
6.将静态博客挂载到 GitHub Pages
安装 hexo-deployer-git
1
npm install hexo-deployer-git --save
修改
_config.yml文件
在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。
修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main代表主分支(注意缩进)。1
2
3
4deploy:
type: git
repository: git@github.com:你的用户名/你的用户名.github.io.git
branch: main修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
1
2
3
4
5
6
7// Git BASH终端
hexo clean && hexo generate && hexo deploy
// 或者
// VSCODE终端
hexo cl; hexo g; hexo d
- hexo clean:删除之前生成的文件,可以用
hexo cl缩写。 - hexo generate:生成静态文章,可以用
hexo g缩写 - hexo deploy:部署文章,可以用
hexo d缩写注意:deploy时可能要你输入 username 和 password。
如果出现Deploy done,则说明部署成功了。
稍等两分钟,打开浏览器访问:https://你的用户名.github.io ,这时候我们就可以看到博客内容了。
7. 常见使用命令
7.1 新建一篇博文
1 | hexo new 这是一篇新的博文 |
然后用文本编辑器去编辑_posts/这是一篇新的博文.md里的内容即可,注意要使用Markdown格式书写。
详细使用方法可以查阅 https://hexo.io/zh-cn/docs/writing
7.2 编辑完文章保存后可以使用如下命令,生成本地页面 http://localhost:4000/ ,进行预览
1 | // Git BASH终端 |
7.3 确认无误后使用以下命令,将本地文章推送至GitHub仓库即可
1 | bash |
下一期会讲讲进阶的使用方法,主题美化
附hexo简单命令
创建新文章
生成文章
在项目根目录下,使用以下命令创建一篇新文章:
1
2bash
hexo new "文章标题"这将在
source/_posts目录下生成一个名为文章标题.md的文件。撰写文章
使用支持 Markdown 的文本编辑器打开生成的
.md文件,编辑内容。文件开头的 Front-matter 部分用于配置文章信息,例如:1
2
3
4
5
6
7
8
9
10
11yaml
---
title: 文章标题
date: YYYY-MM-DD HH:MM:SS
tags:
- 标签1
- 标签2
categories:
- 分类1
- 分类2
---在 Front-matter 中,确保属性和属性值之间有一个空格,以避免解析错误。
生成和预览博客
清理旧数据
在每次修改文章后,建议先清理旧的数据:
1
hexo clean
生成静态文件
使用以下命令生成新的静态文件:
1
hexo generate
或简写为:
1
hexo g
启动本地服务器
启动本地服务器以预览博客:
1
hexo server
然后在浏览器中访问
http://localhost:4000查看效果。
部署博客
部署到远程服务器
确保你已经在
_config.yml文件中配置了部署信息,例如 GitHub Pages 或其他托管服务。然后使用以下命令进行部署:1
hexo deploy
或简写为:
1
hexo d
合并生成和部署命令
如果想要同时生成和部署,可以使用以下命令:
1
hexo d -g