前言
我之前也是没用过很多博客,因为自己比较懒,再就是好多东西写起来都是拾人牙慧,所以一直也没有坚持写博客的习惯。前段时间,突然想整理一下自己的各方面知识以及遇到的问题,就重新捡起了CSDN的博客,说实话作为一个天枰座颜控党,真心觉得CSDN的版面已经有点low,然后用segmentfault也是遇到很多问题,比如审核,到现在我也无法发表新的文章,只能提问题,最后下决心自己搞一个,通过比较选择了Hexo+github,好处我就不在这一一赘述了,下面贴出我花了两小时搭建的一个简单的demo过程。
准备
nodejs
git
github账号及repository
安装与配置
安装Hexo
-
1.在命令行窗口输入
npm install hexo-cli -g
你将会看到
-
2.在命令行中再次输入
npm install hexo --save
你将会看到
-
3.为了查看Hexo是否已经安装好,在命令行中输入
hexo -v
你将会看到
至此已经完成Hexo的安装,接下来将对Hexo进行配置。
配置
您可以在在hexo的根文件下的_config.yml中修改大部分的配置,具体参数配置可查看Hexo 配置,我们这里仅说明一下操作:
-
1.配置自己的身份信息,打开命令行并输入
git config --global user.name "yourname" git config --global user.email "youremail"
-
2.在_config.yml中找到Deployment部分,然后按照如下修改
deploy: type: git repo: git@github.com:yourname/yourname.github.io.git branch: master
注意:这里的repo中填写的是SSH-Key,不能使用HTTPS-Key。
-
3.部署网站
$ hexo deploy
随后按照提示,分别输入自己的Github账号用户名和密码,开始上传。
注意:如果使用git方式进行部署,执行
npm install hexo-deployer-git --save
来安装所需的插件, 然后在当前目录打开命令行,重新部署网站,否则就会出现Deployer not found : git
的提示。
成功后的窗口画面
此时就可以去github所属的 repository 中查看一下,发现有新的文件提交。
-
4.配置github
1.建立与你用户名对应的仓库,仓库名必须为『your_user_name.github.io』(在准备阶段完成)
2.进入 『your_user_name.github.io』->『Settings』->『GitHub Pages』->『Source』->『master branch』Save
使用
初次体验
-
clean 清除缓存文件(db.json)和已生成的静态文件(public)。
$ hexo clean
-
generate 生成静态文件
$ hexo generate
-
server 启动服务器。默认情况下,访问网址 : http://localhost:4000/ 。
$ hexo server
这样就可以通过访问 http://localhost:4000/访问本地的博客了
-
new 新建一篇文章。如果没有设置layout的话,默认使用_config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来。
$ hexo new [layout] <title>
常用指令
详细请参考Hexo指令
问题
1.(未解决) 当更换电脑时,我想在新电脑上写博客该怎么办?
2.(已解决) 部署网站时hexo d
会出现Deployer not found : git
的提示
该问题在上面已经提及,如果使用git方式进行部署,执行npm install hexo-deployer-git --save
来安装所需的插件,即可解决该问题。
3.(已解决) 部署网站成功,但是找不到访问博客的地址该怎么办?
进入 『your_user_name.github.io』->『Settings』->『GitHub Pages』你会看到
没有错,直接点击红框中的连接即可访问。
4.(已解决) 部署网站成功,本地访问正常,但是通过https://your_user_name.github...访问发现页面样式是乱掉的,通过F12查看,好多文件404该怎么办?
首先一定要确定你的仓库名与你的GitHub的用户名是一致,其实这个问题你通过F12查看页面的时候就会发现这个问题。
进阶
进阶篇暂时就不写了,我现在也只摸索了切换主题什么的。
参考及引用
感谢各位将自己的经验整理并分享
更新日志
发布时间 : 2016-09-01
虽然。。现在流行用 issue 写 Blog 了