GitHub Page + hexo 搭建blog

使用hexo在GitHub Page上搭建免费的个人博客

前导学习

  • Git 相关知识
  • Markdown 语法
  • npm 相关知识

因为是自己的总结,相关学习链接后期再加。下面的内容在已掌握相关知识的基础上进行

搭建GitHub Page

注册GitHub

不写了,没个GitHub账号,好意思说自己是程序猿?

新建同名Repository

新建repository

名称:yourname.github.io

注意:用户名必须相同

设置GitHub Page

现在,你的GitHub主页就可以访问了

我们可以在settings里设置自己的域名,比如www.cyrilxu.cn

域名的购买和备案相关内容不在本文讨论范围内

生成SSH Key

在~/.ssh文件夹下,看一下有没有id_rsa和id_rsa.pub两个文件。

如果没有,用以下命令生成ssh密钥:ssh-keygen -t rsa -C "youremail@example.com 回车,会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。

id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

在GitHub中配置ssh key

在个人设置里添加新的ssh key

将id_rsa.pub里的内容粘贴到key中

使用hexo搭建静态博客

Hexo是一个简单、快速、强大的基于 Github Pages 的博客框架,支持Markdown格式,有众多优秀插件和主题。

Hexo官方使用文档:https://hexo.io/zh-cn/docs/

准备工作

你需要安装nodejs和npm

安装Hexo

1
$ npm i -g hexo

创建博客项目

新建工程文件夹,例如 /WorkSpace/hexo/ 这是你存放博客代码的地方

初始化 hexo init hexo会自动生成工作目录,包括node_modules,其目录结构如下:

1
2
3
4
5
6
7
8
9
├── _config.yml
├── package.json
├── scaffolds
| ├── draft.md
| ├── page.md
| └── post.md
├── source
| └── _posts
└── themes

生成静态文件

执行命令

1
$ hexo g

hexo就会在public文件夹下生成相关html文件。提交到GitHub上就可看到默认的hexo博客

本地预览

执行命令

1
$ hexo s

hexo会开启本地web服务,在浏览器里访问http://localhost:4000即可看到内容

使用插件上传到GitHub

配置git地址

打开根目录下站点配置文件_config.yml,配置有关deploy的部分:

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repository: git@github.com:CyrilXu/cyrilxu.github.io.git
branch: master

安装插件

执行命令

1
$ npm i hexo-deployer-git -S

安装完成后生成静态文件

1
$ hexo g

部署到GitHub

执行命令

1
$ hexo d

则public下的文件就部署到GitHub项目中。

测试打开https://yourname.github.io/,出现博客首页,则表示配置成功

基本配置

现在我们有了一个最基本的博客里,在根目录下站点配置文件_config.yml,设置如下内容:

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
author 您的名字
language 网站使用的语言
timezone 网站时区。Hexo 默认使用您电脑的时区。

执行命令:

1
$ hexo d -g

生成静态文件并部署到GitHub

开始写博客

执行命令:

1
$ hexo new '文章名'

hero会在source/_posts/下生成相关md文件。

打开此文件就可以开始写了。

写完执行 hexo d -g直接部署到GitHub