我写的这篇文章已经详细讲解了怎样利用hexo搭建GitHub个人博客,自从入了hexo搭建博客的坑后,发现hexo真的是巨TM好用, 配置好以后对我最大的方便就是想改就改,想删就删,一条 $ hexo g -d 命令搞定了事,支持 Markdown ,还支持非备案域名绑定,开心!

搭建过程中也并非一切顺利,稍微不注意就出现bug,接下来罗列了几条我搭建过程中所遇到的一些“事”及解决办法。

仓库的名字

仓库的名字的正确格式应该是github用户名.github.io,比如说,如果你的github用户名是test,那么你就应该新建test.github.io的仓库(必须是你的github用户名,这里再强调一遍,其它名称无效,之前因为没仔细看,随便起了个名字,果断报错)。

首页文章内容部分展示

我用的是next主题,默认会把所有文章内容都展示出来,这可不简洁美观。所以查了一下,有一个小技巧,就是在你觉得要展示在首页的Mrakdown文件内容文字后面添加<!--more-->即可。例如:

---
title: HTML、CSS、JS中unicode字符的处理
---
# 前言
使用github pages服务搭建博客的好处有:
1. 全是静态文件,访问速度快;
2. 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台;
3. 可以随意绑定自己的域名,不仔细看的话根本看不出来你的网站是基于github的;
<!--more-->
4. 数据绝对安全,基于github的版本管理,想恢复到哪个历史版本都行;
5. 博客内容可以轻松打包、转移、发布到其它平台;
6. 等等;

GitHub Pages绑定域名后每次hexo d都会失效

在GitHub Pages绑定域名之后,发现每次hexo d后,域名网址都会报错404,又要重新部署,就有点太麻烦了。

搞了很久还是不行,后面在网上和群里问出,到这里域名绑定并没有结束,还差关键一步:

具体就是在Hexo目录里的source文件下添加一个名为CNAME的文件,注意这个文件是没有后缀的,千万不要设置成.txt文本文件,文件的内容就是域名,格式如:

luozongmin.com

添加后重新部署文件到github,这个时候再试,应该就成功了。

创建分类页面

添加一个分类页面,并在菜单中显示页面链接。应先新建一个页面,命名为 categories ,命令如下:

$ hexo new page categories

注意!!!categories中千万别加””(双引号),不然会导致部署完后网站中不显示具体分类:

之后在编辑刚新建的页面中,将页面的类型设置为categories; 最后编辑主题的_config.yml,将menu中的categories: /categories注释去掉即可。

Busuanzi 统计浏览量失效

由于busuanzi(不蒜子)的网址更新,导致了使用Hexo Next主题时统计浏览量时失效。

解决方法:

到hexo的themes文件夹下, 进入\themes\next\layout_third-party\analytics

打开: busuanzi-counter.swig

将src=“https://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js”

修改为src=“https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js”

即可。

不蒜子官网:http://ibruce.info/2015/04/04/busuanzi/

Hexo迁移错误 TypeError: Cannot read property ‘count’ of undefined

hexo搭建的博客,从旧电脑迁移到新电脑时,输入 $ hexo g 命令时,报出如下错误:

$ hexo g

INFO Start processing
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html

TypeError: Cannot read property 'count' of undefined at Hexo.module.exports (E:\github\hexo\node_modules\hexo-baidu-url-submit\lib\generator.js:4:40)
at Hexo.tryCatcher (E:\github\hexo\node_modules\bluebird\js\release\util.js:16:23)at Hexo. (E:\github\hexo\node_modules\bluebird\js\release\method.js:15:34)
at E:\github\hexo\node_modules\hexo\lib\hexo\index.js:337:24 at tryCatcher (E:\github\hexo\node_modules\bluebird\js\release\util.js:16:23)
at MappingPromiseArray._promiseFulfilled (E:\github\hexo\node_modules\bluebird\js\release\map.js:61:38)
at MappingPromiseArray.PromiseArray._iterate (E:\github\hexo\node_modules\bluebird\js\release\promise_array.js:113:31)

解决方案:

$ npm remove hexo-baidu-url-submit
$ hexo clean
$ hexo g

删除百度自动提交就好了。

未完待续……

本人Github链接如下,欢迎各位Star

https://github.com/miqilin21/miqilin21.github.io



tools  

Hexo

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!