前言

首先感谢你能来访问我的 Blog,这是我的第一个博客,使用 Github Pages 和 Hexo 搭建。搭建这个博客花费了我的很多精力,现在记录下我搭建的全过程,给自己留个纪念。

入门

在开始之前,你需要知道什么是 Github 和 Github Pages

Github

GitHub.png

Github Pages

GitHub Pages是一个免费的静态网站托管服务,由 GitHub 提供。它允许用户直接从 GitHub 仓库中托管网站,不需要服务器设置或复杂的部署过程。

Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

准备工具

Node.js

安装 Node.js:Node.js 官网

Hexo官方建议使用 Node.js 12.0 及以上版本

选择Prebuilt Installer后,点击Download下载安装程序

nodejs.png

具体可以参考Node.js 安装教程

Git

安装 Git

选择64-bit Git for Windows Setup下载安装程序

git.png

Git 的安装请参考:Git 安装教程

检查软件是否安装成功

按下 Win+R 键,打开运行窗口,输入 cmd ,然后输入以下命令,验证软件是否正确安装

1
2
3
node -v
npm -v(这个是node附带的)
git --version

如下图所示

验证安装.png

此外若安装成功,在桌面右键鼠标,可以看到菜单里多了 Git GUI Here 和 Git Bash Here两个选项,第一个是图形界面的Git操作,另一个是命令行,我们一般使用第二个

下载 Hexo

选择一个磁盘,新建文件夹(如:我的文件夹为:E\Hexo\Blog),博客相关文件将储存在此文件夹下,在该文件夹下右键,选择 Git Bash Here,输入以下命令即可安装

1
npm install hexo-cli -g

安装脚手架.png

初始化配置 Hexo

第一个命令,如图所示则安装成功如果失败了就再输入一次,第二个命令表示安装 hexo 部署到 git page 的 deployer

1
2
hexo init
npm install hexo-deployer-git --save

部署hexo.png

部署上传插件.png

Hexo 安装完成后,将会在指定文件夹中新建所需要的文件,Hexo 文件夹下的目录如下:

本地目录.png

本地查看效果

执行以下命令

1
2
hexo generate
hexo server

执行完即可打开 http://localhost:4000/ 查看效果

初始页面.png

将博客部署到 Github Pages 上

到目前为止,我们的本地博客就成功搭建了,但是现在我们只能在本地查看博客,我们要做的是让其他人也能够访问我们的博客,这就需要我们将博客部署到 Github Pages 上

搭建仓库

注册 Github 账户:访问 Github 官网,点击 Sign in 登录或点击 Sign u0p 注册账户

创建 Github 库:点击 New repository 创建新仓库,步骤及注意事项见图:

新建仓库.png

仓库参数.png

生成 SSH 密钥

进入任意文件夹,右键空白处然后点Git bash here,输入

1
ssh-keygen -t rsa -C "邮件地址"

然后敲4次Enter

然后进入C:\Users\用户名,进入.ssh文件夹

用记事本打开里面的id_rsa.pub,复制里面的全部代码

在 GitHub 账户中添加你的公钥

1.登陆 GitHub,进入 Settings

2.点击 SSH and GPG Keys

3.选择 New SSH key

4.粘贴密钥

测试是否成功

直接在桌面右键 点击 Git Bash Here,输入以下命令输入以下命令:

1
ssh -T git@github.com

测试SSH.png

配置 _config.yml

进入之前的Blog文件夹,用记事本打开_config.yml

拉到最下面将deploy后面的全删掉,复制粘贴这段

1
2
3
type: git
repository:
branch: main

注意缩进格式:每行前面都有两个空格不要删,每个冒号后面都有个空格也不要删!

去 Github 的仓库页面,点 code,复制https链接

将其粘贴到我们记事本中的repository:后面

然后保存退出

配置 Git 个人信息

Git 会根据用户的名字和邮箱来记录提交,GitHub 也是用这些信息来做权限的处理,输入以下命令进行个人信息的设置,把名称和邮箱替换成你自己的,名字可以不是 GitHub 的昵称,但为了方便记忆,建议与 GitHub 一致

1
2
git config --global user.name "此处填你的用户名"
git config --global user.email "此处填你的邮箱"

到此为止 SSH Key 配置成功,本机已成功连接到 Github

上传Hexo文件

六、在 Hexo 文件夹下分别执行以下命令

1
2
hexo generate
hexo deploy

或者直接执行

1
hexo g -d

执行完之后会让你输入你的 Github 的账号和密码,如果此时报以下错误,说明你的 deployer 没有安装成功

1
ERROR Deployer not found: git

需要执行以下命令再安装一次:

1
npm install hexo-deployer-git --save

再执行

1
hexo g -d

此时你的博客就会部署到 Github 上了

访问博客

你的博客地址:https://你的用户名.github.io, 比如我的是:https://ynuzhui.github.io ,现在每个人都可以通过此链接访问你的博客了

网站资料

我们的博客标题还是默认的hexo,整个页面是初始默认的,接下来我们对其进行修改

用记事本打开我们blog文件夹中的_config.yml文件

将#Site下面按自己的需求填上

1
2
3
4
5
6
7
8
## Site
title: 标题
subtitle: 副标题
description: 描述
keywords: 关键词
author: 站主
language: 语言(可以填写zh-CN)
timezone: 时区(可以填写Asia/Shanghai)

如何上传文章

我们在Blog文件夹中打开git bash,输入下方代码就可以生成新的文章md文件

1
hexo new 文章标题

文章是.md格式,在我们的Blog文件夹中的source/_posts中

也可以直接在 \Hexo\source\_posts 目录下右键鼠标新建文本文档,改后缀为 .md 即可

推荐用Typora软件来编辑.md格式的文件

写好以后,我们还是一样打开git bash生成、上传

1
2
hexo g
hexo d

现在访问你的博客就可以看见写好的文章啦!

如何为博客更换自己喜欢的主题

我目前使用的hexo博客主题是anzhiyu,推荐主题:Butterflyanzhiyu

我们要做的就是把主题克隆过来,在此我们以主题 anzhiyu 为例,点进去我们就可以看见主题文档,按照文档内容安装主题

我们可以打开 Hexo 文件夹下的 themes 目录(如:E:\Hexo\themes),右键 Git Bash Here,输入以下命令:

1
git clone 你刚才复制的主题地址

比如要安装 anzhiyu 主题,则输入命令:

1
git clone -b main https://github.com/anzhiyu-c/hexo-theme-anzhiyu.git themes/anzhiyu

等待下载完成后即可在 themes 目录下生成 anzhiyu 文件夹,然后打开 Hexo 文件夹下的配置文件 _config.yml ,找到关键字 theme,修改参数为:theme:anzhiyu(其他主题修改成相应名称即可),再次注意冒号后面有一个空格!

返回 Hexo 目录,右键 Git Bash Here ,输入以下命令开始部署主题:

1
2
hexo g
hexo s

此时打开浏览器,访问 http://localhost:4000/ 就可看见我们的主题已经更换了,如果感觉效果满意,我们就可以把它部署到 Github 上了

打开 Hexo 文件夹,右键 Git Bash Here ,输入以下命令:

1
2
3
hexo clean
//该命令的作用是清除缓存,若不输入此命令,服务器有可能更新不了主题
hexo g -d

此时访问自己的博客即可看见更换后的主题

为你的 Hexo 博客配置个性域名

为了方便用户记住我们的博客站点的话,我们可以配置域名

首先我们要购买域名,阿里云腾讯云都可以,也不贵,一年几十块钱,最便宜几块钱也能买到,我购买的域名是 ynuzhui.cn,购买过程就不赘述了。

购买域名后,需要设置域名DNS 服务器,我将域名托管到了腾讯云的 DNS Pod
打开 DNS Pod ,访问控制台,在我的域名页面点击添加域名,然后在域名服务商设置DNS Pod的DNS 地址,将域名托管到腾讯云。

DNSPOD添加域名.png

为了使 GitHub 接收我们的域名,我们需要在博客的根目录下添加一个名为 CNAME 的文件(注意不要加.txt,没有任何后缀名!),这个文件放到 Hexo 文件夹的 source 里面,(比如我的是:E:\Hexo\source),文件里面填写你的域名,比如要填写我的域名,文件里面就写:blog.ynuzhui.cn ,经过以上操作,别人就可以通过 blog.ynuzhui.cnynuzhui.github.io 当中任意一个访问我的博客了!你的也一样!