「建站」04 将Hexo部署到Github Page
Greetings! ¶
嗨!这里是阿乎的博客!(> ▽ <) /~
在上一节中,我们已经安装好了Hexo
并在本地预览了我们的博客网站。
那么在编辑我们的博客之前,不妨先将它部署到Github Page
上吧!(本节不涉及域名解析等自定义域名的内容)
Github Page
是Github
提供的一个静态网站托管服务,我们可以将我们的博客网站部署到Github Page
上,这样我们就可以通过Github Page
来访问我们的博客网站了。
0. 注意 ¶
我会用<<>>
来表示每个人情况不同的内容。(如每个人的路径与邮箱)
1. 修改配置文件 ¶
我们需要修改Hexo
的配置文件_config.yml
,让Hexo
知道我们要将博客网站部署到Github Page
上。(也可以顺便修改一下博客网站的标题、描述等信息)
具体的参数信息可以参考Hexo官网。
1.1 Deployment ¶
首先我们找到Deployment
这一项(在最下方),然后对其进行补充与修改。
注释里面已经给了官网链接啦
我们要将deploy
中的type
改为git
,并且将repo
改为我们的Github
仓库地址。(地址可以通过Github
仓库的Code
按钮来获取)
注意:一些老教程会将
branch
设置为master
,但是从2020年开始,Github
已经将默认分支改为main
了,所以我们需要将branch
设置为main
。向制作老教程的前辈们致敬!
1.2 URL ¶
然后我们需要将Hexo
的_config.yml
文件中的url
修改为我们的Github Page
地址。
找到url
这一项(靠近最上方),然后将其修改为https://<<你的Github用户名>>.github.io/<<你的仓库地址>>/
即可。(或者说https://<<你的仓库名>>.git
)
也强烈推荐通过注释里给出的官网链接来了解更多配置信息。
1.3 *其他(optional) ¶
我们也可以修改一下博客网站的标题、描述等信息。
找到最上方的Site
这一项,然后按需修改即可。
- 注意,这里的
language
指的是网站的语言,而不是博客的语言。具体填入什么需要根据你所选的主题
来定。(主题会在下一节中介绍,如果你不知道该填什么,可以先留着默认的en
) timezone
指的是时区,对于中国大陆来说,可以填Asia/Shanghai
。
2. 安装hexo-deployer-git
(不是apt安装的git) ¶
我们需要安装hexo-deployer-git
这个插件,来实现将博客网站部署到Github Page
上。
- 如果不安装这个插件直接部署的话会报错
Deployer not found: git
。(在官方文档中也提到这个bug,给出的解决方案就是安装这个插件)
将路径切换到博客网站的根目录下,然后执行以下命令即可。
3. 配置git ¶
距离部署已经不远啦!我们只需要配置一下git
就可以啦!
- 如果不配置直接进行部署的话,会出现一个
*** Please tell me who you are.
的提示,可以根据这个提示下给出的命令来配置git
。
也就是下面这两条命令。
4. 保存github token ¶
从2021年8月13日开始,Github将不再接受使用密码进行git操作,所以我们需要使用token来进行git操作。
打开你的Github
主页,然后点击右上角的头像,选择Settings
,选择最下方的Developer settings
。
然后选择左侧的Personal access tokens
,点击右上角的Generate new token
。
- 注意,这个token只会显示一次,之后你再打开这个界面就无法再查看它了。请务必将它保存在便于你访问且安全的地方!之后我们每一次更新博客网站都需要用它作为密码来验证。
有关token
的配置,我们可以将其期限设置为No expiration
(当然,Github
强烈建议我们设置一个有期限的token,这里根据自己的需求来定)。然后对于Select scopes
,我们最低限度只需要勾选repo
即可。
5. 部署与更新 ¶
让我们先回到博客网站的根目录下。
接下来要介绍平时更新博客时常用的几个命令。
-
hexo g
(hexo generate
):生成静态文件(public文件夹)。 -
hexo d
(hexo deploy
):部署网站到Github Page
上。 -
hexo cl
(hexo clean
):清除缓存文件(db.json)和已生成的静态文件(public文件夹)。(它不会删除source
文件夹中的文件,所以不用担心会误删文章)- 我们通过
hexo d
命令部署网站时,同步到Github
仓库的文件夹就是public
文件夹。
- 我们通过
-
hexo s
(hexo server
):启动本地服务器,用于预览网站。(默认端口为4000
,可以通过hexo s -p <port>
来指定端口)
请记住这几个命令,我们每次会经常用到它们。
以下是一个常用的更新博客的流程,注意,以下所有命令都需要在博客网站的根目录下执行!
5.1 清除缓存文件和已生成的静态文件 ¶
我不确定这一步是否必要,但是我每次更新博客时都会执行这一步。
5.2 生成静态文件 ¶
将我们对配置的修改、对文章的修改等等都生成为静态文件到public
文件夹中。
5.3 部署网站到Github Page上 ¶
这一步会要求你输入Github
的用户名和密码,然而:
- 用户名是区分大小写的!
- 这里的密码并不是你的
Github
密码,而是你在上一步中保存的Github token
!
对了!如果执行hexo d
后卡住,没有出现有关Github
的提示,那么可以多次尝试Ctrl+C
来终止命令,然后再重新执行hexo d
。
如果一切顺利的话,你的博客网站已经部署到Github Page
上了。
5.4 更新 ¶
自此往后,每次更新博客网站时,我们只需要执行以下两步即可。
如果遇到一些地方没有同步的情况,可以尝试先执行hexo cl
再执行以上两步。
6. 预览网站 ¶
在短暂的等待后(部署后需要一定的时间才能在网上访问到你的博客网站),你可以查看你的Github
仓库是否更新,也可以直接在浏览器中输入<<你的仓库名>>
(<<你的用户名>>.github.io
)来访问你的博客网站。
不出意外的话,你已经可以在网页中浏览到source
文件夹中自带的Hello World
文章了。
之后我们的主要工作就是在source
文件夹中添加文章啦!
Summary ¶
Congratulations!🎉
至此我们已经了解了部署与更新博客的全部流程啦!\(≧▽≦)/~
那么,下一节!我们来讲讲使用这个框架写博客时会遇到的一些问题吧!(比如如何插入图片、如何使用emoji
等等)
有关域名解析的问题,我想在最后面再提,因为我觉得这只是最后的装点~
Have fun! 😉