前言

本文详细介绍了如何利用Github PagesHexo搭建个人博客

Github Pages

Github Pages 是由 Github 免费提供的一个托管在 Github 上的个人网站,可以用来搭建轻量级的个人博客,并且具有丰富的 DIY 特征。可以使用自己的域名;选择合适的主题;使用插件等,并且可以完全不用担心环境搭建、系统维护等问题。
根据 GitHub 官方使用建议和限制,每个项目的大小不要超过 1GB,每小时不超过 10 次版本更新;每个月带宽使用上限为 100GB。

Hexo

Hexo 是一个快速、简洁并且高效的博客框架。Hexo 使用Markdown解析文章,在几秒内可以生产静态网页,并且有丰富的主题可以选择。

准备工作

安装 Git

Git是一个开源的分布式版本控制系统。此处使用 Git 用来将本地生成的静态文件推送到远程仓库中,并且也可以用来控制系统版本。
检查系统中是否安装了 Git,可以使用以下命令:

1
git -version

安装 Node.js

要使用 Hexo,需要先安装Node.js的环境,根据电脑环境下载相应的版本后,使用默认安装即可。
检查 Node.js 是否安装成功,可以使用一下命令:

1
2
node -v
npm -v

Ps:NPM 是跟随 Node.js 一同安装的包管理工具,类似于 Python 的 pip,并且为了增加下载速度,可以切换至淘宝源

1
npm config set registry https://registry.npm.taobao.org

安装 Hexo

完成以上准备工作后,可以安装 Hexo。
Hexo 的安装分为全局安装和局部安装,此处我采用了局部安装,将目录切换到 blog 根目录,执行:

1
npm install hexo

以后再使用时,可以以以下方式执行:

1
npx hexo <command>

注册 GitHub 账号、新建仓库与主页

GitHub注册账号,新建一个仓库,项目名称必须为**[yourname].github.io**

配置 SSH 秘钥

配置 SSH 秘钥,实现本地仓库与 GitHub 代码块的同步。在命令行工具中,输入以下代码:

1
2
3
4
5
6
7
8
9
10
11
ssh-keygen -t rsa -C "your email@example.com"
# 出现以下信息,选择秘钥储存目录
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/name/.ssh/id_rsa):
#这里选择默认文件夹,即可
Enter passphrase (empty for no passphrase):
#这里要你输入密码,直接回车即可
Enter same passphrase again:
# 下面生成公钥和私钥
Your identification has been saved in /c/Users/name/.ssh/id_rsa.
Your public key has been saved in /c/Users/name/.ssh/id_rsa.pub.

id_rsa 是私钥,不能泄露给别人;id_rsa.pub 是公钥,将其内容复制,添加到 GitHub 中。
使用如下代码,测试 Git 连通性

1
ssh -T git@github.com

也可以配置你的 Git 个人信息

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

建站

完成好以上准备工作后,便可以开始建站工作。执行一下命令,初始化 Hexo。

1
2
3
hexo init <folder>  # 初始化Hexo
cd <folder> # 进入文件夹
npm install # 根据package-lock.json安装依赖包,安装在本地node_modules文件夹中

新建完成后,文件夹出现以下目录结构:

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

文件夹的具体含义可以查看Hexo 说明文档

网站搭建工作基本完成,可以使用hexo s命令本地运行,查看效果。

配置 deploy

打开 hexo 的_config.yml 文件,找到 deploy 关键字,如下修改:

1
2
3
4
deploy:
type: git
repo: git@github.com:yourname/yourname.github.io.git # 你的项目地址
branch: master # 你的page分支

部署

1
2
3
hexo clean  # 清空静态文件
hexo g # 生成静态文件
hexo d # 部署网站

个性化设计

关于网站的大部分设置可以在 hexo 文件夹下的_config.yml 中配置
同时,hexo 主题也提供了大量的有特点的主题,可以寻找并应用
使用 git 安装主题时,可以采用 git submodule [主题地址] themes/[文件夹]
hexo 的其他使用方法可以访问查看其文档hexo 文档
我使用的主题是 butterfly,具体配置方法可查看butterfly 文档
更多美化方法可以参考Hexo 博客主题个性化

永久链接

  1. 安装插件

    1
    npm install hexo-abbrlink --save
  2. 修改 config.yml 文件中的 permalink

    1
    2
    3
    permalink: article/:abbrlink/
    alg -- Algorithm (currently support crc16 and crc32, which crc16 is default)
    rep -- Represent (the generated link could be presented in hex or dec value)

备份

hexo 部署时会把.deploy_gitpush 到 GitHub 仓库中,为了方便备份博客的原文件夹中的内容
在 blog 根目录下初始化一个仓库,通过配置.gitignore可以控制追踪的文件

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── package-lock.json
├── scaffolds
├── source
└── themes
├── 'your folder'

可以将其与 GitHub 仓库连接,在 GitHub 上备份 blog 文件
再其他电脑上恢复时,只需要安装 Node.js、Git,在 GitHub clone 下来之后,npm install即可

本文参考

使用 Github Pages 和 Hexo 搭建自己的独立博客