通过github pages建立自己的博客
通过github pages建立自己的博客
安装环境
废话不多说,本人参考了以下博客:
- [Hexo在github上构建免费的Web应用][1]
- [Jacman基于Pacman修改的Hexo主题][2]
不过在做那些操作时,你的电脑需要这些环境:
nodejs
ruby
浏览器
由于我的电脑是mac,我本人又是一枚程序猿,所有这些环境都有,如果有人不知道怎么安装这些环境的:brew install nodejs
安装hexo库
[hexo的官网][3]
如下方式安装:
$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo server
因为国内墙的原因,ruby的源访问很慢,可以将镜像换成国内的镜像,目前我的是用的淘宝的,怎么换就自己google
安装好以后,访问本地服务器locathost:4000,默认使用的主题是landscape,[怎么换主题请参考这里][4]
导航栏添加自定义页面
命令手动生成自定义页面(在根目录,和_post、tags平级)
hexo n page "about"
命令生成初始文章,文件名空格会自动加-hyphen中横线
hexo n "hexo post"
[利用githubpage搭建博客][5]
我在照着这些博客去做的时候,遇到一些问题:
常见错误
- 修改配置文件时注意YAML语法,参数冒号:后一定要留空格
- 中文乱码请修改文件编码格式为UTF-8
- GitHub同步慢或者失败请使用翻墙代理加速
- 域名配置解析中,二级域名配置问题
- 有新文章copy到_post目录中时,部署到github上失败,提示
deploy fail
域名和DNS配置
域名推荐
GoDaddy makes registering Domain Names fast, simple, and affordable.
【推荐理由】两个字“靠谱”,支持支付宝,附优惠码链接
[godaddy][6]
[gdcodecoupon][7]
- DNS推荐
致力于为您提供最稳定、最安全的域名解析服务
【推荐理由】依然是两个字“靠谱”,感谢他们一直以来对于公益的坚持
因为我是去年阿里云搞活动买的域名,所以我以万网域名为例来说明我遇到的问题:
我要设置的域名是:http://huguiqi.com
- 设置CNAME
- 在Github的网站目录下创建CNAME文件
填写自己的域名如huguiqi.com,保存结束,为了能每次发布都有这个文件,在hexo下的source目录下建立这个文件 - 设置DNS解析(一级域名设置)
记录类型 | 主机记录 | 记录值
-—— |——–|————
CHAME | @ | huguiqi.github.io
A | www | 103.245.222.133
一级域名指向设置只要将CHAME和A类型的记录值指向github给你指定的服务器域名和ip就行了。
4.二级域名DNS解析
二级域名指向就要麻烦点了,需要一个跳板:
比如我要对clockcoder.com/images作域名解析,则需要:
设置一个CHAME的主机记录:blog,当以blog开头时,将它指向记录值要转向的地址
设置一个github对应的主机地址,以作基础解析
clockcoder.com/images –>huguiqi.github.io. –>github.huguiqi.com. –> 103.245.222.133 走了一圈以后终于到目的地了
配置完后部署一下就ok了
hexo clean && hexo d -g
记录类型 | 主机记录 | 记录值
-—— |—————–|————
CHAME | huguiqi.github.io| github.huguiqi.com.
CHAME | blog | huguiqi.github.io.
A | github | 103.245.222.133
注:为什么要在跳板指向的huguiqi.github.io的后面加”.”呢?主要是为了和主域名区分,不要搞混了
不要问我怎么知道这样配置是对的,[我是参考这里去配置的][8]
来回切换主题后无法将新的markdown部署到服务器上
- 由于hexo工程根目录下的.deploy_git在作怪,切换后部署时把这个目录删掉(一定要删除目录)
- 有时遇到无上传时,可能是主题的git文件导致git remote冲突,所以把themes下面的主题目录的.git文件删掉即可
站内搜索
已提交微搜索(swiftype也很不错)的Pull Request给Jacman,欢迎大家体验
[微搜索][9]
[swiftype][10]
[为hexo添加站内搜索][11]
[1]: http://blog.fens.me/hexo-blog-github/
[2]: http://wsgzao.github.io/post/hexo-jacman
[3]: http://hexo.io/
[4]: http://wsgzao.github.io/post/hexo-jacman/#
[5]: http://blog.fens.me/hexo-blog-github/
[6]: http://www.godaddy.com/
[7]: http://www.gdcodecoupon.com/
[8]: https://help.github.com/articles/setting-up-a-custom-subdomain/
[9]: http://tinysou.com/
[10]: https://swiftype.com/
[11]: http://huguiqi.com/2016/03/09/%E7%BB%99hexo%E5%8D%9A%E5%AE%A2%E6%B7%BB%E5%8A%A0%E7%AB%99%E5%86%85%E6%90%9C%E7%B4%A2/