摘要
这篇教程是基于简书作者CNFeat的文章《如何搭建一个独立博客——简明Github Pages与Hexo教程》的简短补充版,在原教程的基础上,简单加入了一些个人在参考该教程搭建博客过程中遇到的问题和解决问题的描述,相信能够给予后来者更多的帮助。
原教程链接:http://www.jianshu.com/p/05289a4bc8b2
前言
很久之前就有搭建自己的个人网站写博客的欲望,觉得是一件特别酷的事情。看过一些大牛的博客网站,很钦佩那些不仅在自己的技术领域刻苦专研,同时在人文领域也不断学习和思考的工程师们。直到看到了CNFeat的这篇教程,觉得搭建网站写博客好像也不是一件特别麻烦又复杂的事情。总之,抱着记录人生的思考感悟,督促自己不断提问、学习、思考和输出的愿望,懒癌患者终于动工了。在初步搭建独立博客的过程中,遇到了很多意想不到的问题。作为一个只注册了Github账号,对Node.js、Git和Hexo不了解也未使用过的技术小白,一步一步摸索并没有想象中那么一帆风顺,所以将此过程遇到的问题和解决办法分享出来,希望能给后来者一些参考。
关于原教程
我觉得CNFeat的教程写的很好,不仅简洁明了,还特别具有“煽动性”!看完文章后,我立刻关注了作者本人。但是具体操作的过程相信肯定会因人而异,具体步骤请参考原教程,这里仅就实践中遇到的问题和解决办法加以说明。
搭建过程遇到的问题:
1.node.js安装问题
貌似nodejs.msi格式文件一直安装不成功,总是提示
应该还有人有其他安装不成功的原因,上网找了很久还是没有找到根本的解决方法, 所以采用了迂回的解决方式,求助于nodejs.exe安装,参考教程如下:
http://blog.csdn.net/fense_520/article/details/41109541
(如果有人看到此,能给出根本的解决方法,欢迎分享,不胜感激!)
补充:后来查到发现.msi文件安装报错的原因是安装的时候,没有使用管理员权限。msi文件右键点开,没有“以管理员身份运行”的选项,可以点“开始”菜单,点“所有程序”,点开“附件”,在“命令提示符”上点右键,选择“以管理员身份运行”。然后输入.msi文件的路径,回车。
2.Git安装问题
第一次选用git bash安装模式,但是打开git bash始终无法使用npm
查找原因好像是因为npm不是全局安装,没有找到在git bash中使用npm的好的解决方式,所以重新安装改为
第二种——安装为windows command模式。这样会看到环境变量中
于是,在cmd中可以直接使用git,也可以直接用npm安装hexo,注意安装hexo时加上-g,表明全局安装。关于npm的本地安装和全局安装可自行查找资料进行了解。
3.hexo的_config文件修改问题
我的deploy改为
需要注意的点:
(1)冒号后面一定要加一个空格。type应该为git版本,注意github pages对应的项目名一定要为github用户名.github.io.,我之前一直没有注意到这个问题,用的是域名的前部加上github.io,导致github.io网站一直打不开,囧...注意hexo d之前,安装npm install hexo -deployer-git --save
(2)还有一点,就是对于_config文件不要用记事本编辑,因为记事本无法转成UTF-8格式,这里推荐sublime text编辑器:http://www.sublimetext.com/,编辑完之后,点击file--save with encoding--UTF8
4.本地浏览local:4000打不开问题
原因可能是端口被占用,目前常用占用4000端口的进程为:foxitprotect.exe,对应的服务为:fxservice,停止该服务即可。或者修改hexo server的端口,我一般在hexo g之后,直接敲命令行hexo s -p 4001,在local:4001本地浏览
5.主题的更改
由于不是很满意原教程的jacman主题,所以找了下,决定使用next主题,修改过程中也遇到了一些问题,比如_config文件中的中文无法在网站上正常显示的问题,查找原因发现language设置为:zh-CN,但是next主题的language中并没有zh-CN文件,后改为已有的zh-Hans,问题解决。此处给出两个关于主题修改的参考资料链接:
http://www.tuicool.com/articles/zeIZJzv
http://blog.csdn.net/willxue123/article/details/50994852
6.域名无法打开问题
这里想强调dnspod中添加域名的问题,之前没看懂原教程所以找了一些资料,重新设置了一下,终于成功。这里需要查找github Pages的提供的ip,步骤如下:
ping username.github.io记录下IP地址
然后添加到dnspod的域名解析中,我的添加如下:
特别注意的是,在github中建立的CNAME文件是无后缀的,一定不要加后缀.txt,尤其是在本地建立的上传的CNAME文件,一定要注意这一点。
此处可参考教程:http://jingyan.baidu.com/article/3c343ff70fb6e60d3779632f.html