1. Hexo安装使用
安装
参考官方文档说明
配置
在_config.yml
文件中,我们可以配置Hexo博客。
- skip_render选项
Hexo默认会渲染source
文件下的所有的*.md
和*.html
文件。配置该选项,我们可以让Hexo在生成网站文件的时候跳过某些文件,比如用于域名所有权验证的HTML文件或者github仓库的Readme文件。
skip_render: |
使用
# 创建新的站点 |
2. Hexo主题使用
主题安装使用
在Hexo站点目录下执行下面命令,然后修改_config.yml
中的theme
字段为theme-name
。你可以在Hexo主题库寻找你喜欢的主题。git clone <repository> themes/<theme-name>
git clone完成后,我们就可以将
themes/<theme-name>
目录下的.git目录删除了
yilia主题的配置
# 头像设置 将图片放在主题目录下的source/img文件夹下 |
3. Hexo博客使用Github与Gitcafe托管
博客托管
Github与Gitcafe通过Pages服务提供了静态网站的托管服务。Pages分为两种:个人/组织的Pages和项目Pages;一般我们使用个人/组织Pages来托管Hexo博客。
个人/组织的Pages都是一个特殊名字的项目。在Github中个人/组织Pages的项目名必须为username.github.io
,在Gitcafe中项目名必须为username
。
在创建好Pages项目后,我们需要配置_config.yml
文件中的deploy
字段deploy:
- type: git
repository: https://github.com/pzxbc/pzxbc.github.io.git
branch: master
- type: git
repository: https://gitcafe.com/pzxbc/pzxbc.git
branch: gitcafe-pages
配置完成后,运行下面指令部署博客cd <hexo-websit-dir>
hexo clean
hexo generate
hexo deploy
使用自定义域名
在将博客托管至Github和GitCafe后,我们可以使用域名username.[github|gitcafe].io
来访问我们的博客。如果你自己拥有一个域名的话,可以设置使用该域名(blog.xxx.com
)来访问博客。
- 将
username.[github|gitcafe].com
域名重定向到我们要使用的域名blog.xxx.com
。- 对于Github,需要在Pages项目的根目录添加一个CNAME文件,文件内容为你要使用的域名
blog.xxx.com
;即在Hexo站点目录下的source
目录添加CNAME文件; - 对于Gitcafe,在Pages项目的设置中添加你的域名即可;
- 对于Github,需要在Pages项目的根目录添加一个CNAME文件,文件内容为你要使用的域名
- 设置CNAME记录。在步骤1后,我们访问
username.[github|gitcafe].io
后,网页会重定向到域名blog.xxx.com
。为了能通过域名blog.xxx.com
访问到我们的博客,我们应该将域名指向我们博客所在的服务器。添加下面的CNAME记录,使得blog.xxx.com
解析为博客所在的服务器IP地址。
主机记录 | 记录类型 | 线路类型 | 记录值 |
---|---|---|---|
blog | CNAME | 默认 | username.github.io |
blog | CNAME | 国内 | username.gitcafe.io |
经过上面设置后,我们在国内线路访问blog.xxx.com
会访问到username.githcafe.io
指向的服务器上的博客,通过国外线路会访问到username.github.io
指向的服务器。这样也加速了我们博客打开的速度,因为gitcafe对于国内访问来说会快很多;同时也使得百度能够索引我们的站点,因为github屏蔽了百度的爬虫。
配置完成后,我们可以通过下面命令确认是否成功(CNAME记录需要一段时间才能生效)ping pzxbc.github.io
# PING github.map.fastly.net (103.245.222.133) 56(84) bytes of data.
# 64 bytes from 103.245.222.133: icmp_seq=1 ttl=51 time=326 ms
# 64 bytes from 103.245.222.133: icmp_seq=2 ttl=51 time=297 ms
ping pzxbc.gitcafe.io
# PING pzxbc.gitcafe.io (103.56.54.5) 56(84) bytes of data.
# 64 bytes from 103.56.54.5: icmp_seq=1 ttl=54 time=12.6 ms
# 64 bytes from 103.56.54.5: icmp_seq=2 ttl=54 time=12.3 ms
dig blog.pzxbc.com +nostats +nocomments +nocmd
# ;blog.pzxbc.com. IN A
# blog.pzxbc.com. 600 IN CNAME pzxbc.gitcafe.io.
# pzxbc.gitcafe.io. 600 IN A 103.56.54.5
ping blog.pzxbc.com
# PING pzxbc.gitcafe.io (103.56.54.5) 56(84) bytes of data.
# 64 bytes from 103.56.54.5: icmp_seq=1 ttl=54 time=11.8 ms
# 64 bytes from 103.56.54.5: icmp_seq=2 ttl=54 time=12.6 ms
4. Hexo站点git管理
使用git管理
- 在github上创建一个新的仓库
github-blog
用于管理Hexo站点文件 - 将Hexo站点本地文件推送到
github-blog
仓库中cd hexo-website-dir
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/pzxbc/github-blog.git
git push -u origin master
同步站点文件至其他机器使用
在使用了git管理我们的站点文件后,我们就拥有了博文回退、同步、协同创作的功能。我们可以轻松地将我们的站点文件同步至其他机器进行博文的编写和发布。git clone https://github.com/pzxbc/github-blog.git <website-dir>
cd <website-dir>
npm install
其他机器上要确保安装了Node.js和Hexo环境
5. 插件
插件使用
# 安装 |
插件集合
使用的插件
6. Hexo版本升级
根据官方文档进行操作即可
从2.X版本升至3.0的还需要更改_config.yml
的deploy
选项作,才能正常运行hexo deploy
命令deploy:
type: git
7. Hexo博客自动部署
参考这里
PDF备份