简介
看了各种搭建博客的方案, 对比了一下各种选项, 最后选择了Hexo+Github Page.
什么是 Hexo?
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
What is GitHub Pages?
GitHub Pages is a static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository.
使用这种方案建立的博客就会有这些特点:
- 基于静态网页, 速度快, 适合小网站.
- Github帮助托管网站, 省心.
- 免费啊免费, 上面的两个工具都不要钱啊
(划重点). - 可以绑定自己的域名.
准备工作
Node.js
访问Node.js官网获取安装包.
记得要勾选add to path.
Git安装
Git官网
其实我是VS2017自带的.
以下需要使用命令行的操作均在Git bash中完成.
Github Page配置
创建Repository
在Github创建一个帐号.
帐号创建后, 选择绿色的New repository按钮, 创建一个代码仓库, Repository name必须为
你的用户名.github.io
.进入刚创建的Repository-Settings, 下拉找到GitHub Pages选项, 等待一段时间会有绿色的提示 “Your site is published at xxx.io.”表示成功了.
配置SSH
配置ssh, 实现本地与Github的连接.
在Git bash中输入
1
ssh-keygen -t rsa -C "邮件地址"
会出来几个确认选项, 全部回车确认.
获取ssh keys
在”C:\Users\你的用户名.ssh”路径下可以看到”id_rsa”和”id_rsa.pub”文件.用记事本打开”id_rsa.pub”将内容复制到你的Github主页->Settings->SSH and GPG keys->SSH keys
.输入以下内容测试ssh是否配置成功
1
ssh -T [email protected]
如果显示”Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.”则为成功.
登录
1 | git config --global user.name "Github用户名" |
Hexo安装与配置
安装
在Git bash输入npm命令执行Hexo的安装.
1
npm install -g hexo-cli
新建一个文件夹作为存放所有文件的工作区.
通过cd命令跳转到新建的文件夹, 在文件夹下初始化Hexo, 自动生成几个目录.
1
2cd /d/Hexoworkspace
hexo init
配置_config.yml
网站选项
1
2
3
4
5
6
7## Site
title: xxx's Blog #标题
subtitle: #小标题
description: #描述
author: Links #作者
language: zh-CN #语言选项 可选en, zh-CN, zh-tw
timezone: Asia/Shanghai #时区选项时区选项 参照wiki.
部署选项(必改)
1
2
3
4deploy:
type: git
repository: [email protected]:用户名/用户名.github.io.git
branch: master所有参数见官方文档
相关指令
1 | hexo g #hexo generate 生成静态文件 |
文章编写与发布
创建文章
1 | hexo new [layout] title |
布局(layout) | 路径 | 作用 |
---|---|---|
post | source/_post | 在页面发布文章 |
page | source | 创建一个新页面 |
draft | source/_drafts | 草稿 |
Hexo会在选定的布局对应的路径下创建一个md文件, 打开就可以编辑文章或页面了.
Front-matter
Hexo自动生成的文章属性.
1 |
|
Read More按钮
Hexo默认在首页放出全文.
如果需要设置摘要, 可以选择在需要省略的部分前面加上Read More按钮.
1 | #摘要 |
主题
安装
首先找一个主题, 可以在Hexo官网下载, 也可以从其他地方下载.
直接把主题文件夹复制到Hexo工作目录的/themes下.
找到主题的github页面, 在bash中输入命令下载.
1
git clone (web URL) themes/主题名字
两种方法的效果是一样的.
设置
在Hexo工作目录下找到_config.yml.
1 | theme: 主题名字 |
域名
可以给你的网站绑定一个域名, 通过域名来访问Github Page, 比如输入 www.example.com
就会跳转到你的博客.
域名注册
首先你要有一个域名, 可以在阿里云, GoDaddy之类的地方购买一个.
Github Page 绑定域名
在 Repository->Settings->Github Page->Custom domain
中填写自己的域名, 将其绑定到你的页面.
如果填写的是 www.example.com
, 那么 www.example.com
和 example.com
都会被重定向到 www.example.com
.
如果填写的是 example.com
, 那么以上两个域名都会被重定向到 example.com
.
域名解析设置
域名注册后,你只是拥有了域名的使用权,但无法通过域名直接访问你的网站。域名解析是使用域名访问你的网站的必备环节。
根域名解析设置
如果你希望通过 example.com
这样的域名来访问你的页面, 你需要在DNS解析设置中创建以下 A
记录.
185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
www子域名解析设置
如果你希望通过 www.example.com
访问页面, 可以在DNS解析设置中创建 CNAME
记录, 指向你的Github Page, 比如YOUR-GITHUB-USERNAME.github.io
.
自定义子域名解析设置
你可以使用自定义子域名, 如 blog.example.com
访问页面.
操作和上面的www子域名相同, 创建 CNAME
记录, 指向你的Github Page.
参考教程
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html#hexo%E7%AE%80%E4%BB%8B
官方文档 https://hexo.io/zh-cn/docs/
https://help.github.com/articles/using-a-custom-domain-with-github-pages/