偶然的机会看到了Hexo,就深深被吸引了,加载速度快,支持Makedown,还支持部署到Github上。做为一位PHP程序员,以前的博客用的是PHP开发的WordPress,其实感受WordPress也不错,找了个漂亮的WordPress模板,加上七牛的CDN缓存,速度上,还算满意。既然对WordPress感受不错,那为何要把博客从WordPress迁移到Hexo上呢。第一,好奇,之前就常常据说Node.js有多么多么好,要把PHP给替代掉什么的,虽然Node.js的做用只是用来生成静态页面的,但能够感受到,生成速度的确快;第二,支持Makedown,早就想学习Makedown了,正好边写博客,边学Makedown;第三,支持部署到Github上,之前WordPress都是部署到阿里云的云服务器ECS上的,还单独买了一个云数据库RDS,一个月得一百多块的花销,如今能够免费地放在Github上,省了一百多块钱,何乐而不为呢,哈哈。。不罗嗦了,直接上步骤。。css
1.安装Node.js
Centos之类的,yum install nodejs && sudo yum install npm
Mac OS X系统,使用brew install node 安装一下
若是须要源码安装,能够去Node官网下载,而后编译安装
2.安装git
和上面同样,yum或brew或源码安装一下,这里就再也不多说。能够参考此文档:https://git-scm.com/book/en/v2/Getting-Started-Installing-Git 进去能够选择中文,html
全部必备的应用程序安装完成后,便可使用 npm 安装 Hexo。node
npm install -g hexo-cli npm install hexo-server --save
npm install hexo-cli -g hexo init blog cd blog npm install hexo server
浏览器输入http://localhost:4000
效果图以下:git
默认的主题不是特别好看,咱们能够在Hexo官网的主题页选择本身喜欢的主题,我选的是yilia。
1.安装程序员
cd blog git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia cd themes/yilia git pull
2.主题修改配置
修改blog目录下的 _config.yml : theme: yiliagithub
3.yilia配置web
cd blog/theme/yilia vim _config.yml
而后根据里面的提示填写就好了,这里就很少说了。里面有个多说的配置,litten可能有点没说清楚,其实填写的是多说站点设置里的多说域名你填写的部分。
我这里以下填写:ajax
duoshuo: jsyzchen
4.添加Share.js数据库
Share.js 一键分享到微博、QQ空间、QQ好友、微信、腾讯微博、豆瓣、Facebook、Twitter、Linkedin、Google+、点点等npm
编辑yilia目录下的_config.yml
#是否开启分享 share_jia: false share_addthis: false share_social: true #这里添加Share.js的开关
编辑yilia/layout/_partial/head.ejs文件,加入代码
<% if (theme.share_social){ %> <%- css('https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.13/css/share.min') %> <% } %>
进入yilia/layout/_partial/post目录,添加share_social.ejs文件,代码以下
<div style="padding:0 40px 10px;"> <!-- social-share Button BEGIN --> <div class="social-share"></div> <script src="https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.15/js/social-share.min.js"></script> <!-- social-share Button END --> </div>
编辑yilia/layout/_partial/article.ejs文件,找到theme.share_jia和share_addthis的位置,把加载social-share的代码放在与他们同级的位置
<% if (!index && theme.share_social){ %> <%- partial('post/share_social') %> <% } %>
如今咱们将WordPress的文章迁移到Hexo,若是你不须要迁移,跳过便可。
首先,安装 hexo-migrator-wordpress 插件。
npm install hexo-migrator-wordpress --save
在 WordPress 仪表盘中导出数据(“Tools” → “Export” → “WordPress”)(详情参考WP支持页面)。
插件安装完成后,执行下列命令来迁移全部文章。source 能够是 WordPress 导出的文件路径或网址。
hexo migrate wordpress <source>
完成以后能够
hexo server
浏览器输入http://localhost:4000 查看效果
1.申请GitHub
GitHub直接申请一下就行了。
2.新建Repository(仓库)
登录Github帐号后,点击右上角的“+”号按钮,选择“New repository”
在Create a new repository界面填写格式以下图所示: 用户名.github.io,固定写法
3.设置你的git用户名和密码
Git会根据用户的名字和邮箱来记录提交,GitHub也是用这些信息来作权限的处理。
git config --global user.name"这里是你申请Github帐号时的name"
git config --global user.email"这里是你申请Github帐号时的邮箱"
3.SSH配置
SSH配置,有些麻烦。能够参考此文档:https://git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration,进去能够选择中文,仍是比较详细的。
4.部署
进入blog目录下,编辑 _config.yml,把下面的your_username换成你的github用户名,注意冒号后面有一空格。
deploy: type: git repo: https://github.com/your_username/your_username.github.io.git branch: master
1.清除缓存文件 (db.json) 和已生成的静态文件 (public)。
hexo clean
2.生成静态文件
hexo generate
3.部署
hexo deploy
上面二、3两个命令能够合起来
hexo d -g
若是你此时没有看到一大段执行代码,通常是SSH配置有误。
若是成功了,你进入Github repository,就是your_username.github.io是有代码的
此时,你在浏览器里输入http://your_username.github.io 就能够看到你的博客了
个人WordPress和Hexo博客对比图:
1.原来的WordPress
2.现在的Hexo
怎么感受变丑了呢,没事,能省钱就行了,哈哈。。
虽然使用your_username.github.io能够直接访问博客,但若是你想用本身的域名打开博客。
1.域名解析
进入你的域名解析管理控制台,设置主机记录@,类型A,到IP 192.30.252.153(GitHub IP)。
我用的是万网,设置以下:
2.GitHub设置
在github项目中,blog/source目录下,新建一个文件CNAME,文件中写出你要绑定的域名,好比个人是jsyzchen.com
3.部署更新文件
hexo clean hexo g -d
而后在浏览器输入你绑定的域名就能够看到你的Hexo博客了
所谓的性能优化,也就是把能一些图片,js,css放入cdn里,这样的话加载速度会大大加快,我这里推荐的七牛云存储,它有免费的额度,通常像博客这样的系统文件不会超的,并且七牛的CDN挺不错的,加载速度挺快。至于如何设置,能够查看七牛的帮助文档,你可使用七牛的镜像存储,这样你就不须要把你的文件一个一个地往七牛存了,你可能还须要改些你选择主题的源码,就是把它之前调的图片,js,css地址改成CDN的访问地址就好了,这里不在啰嗦了。
1.Hexo官方文档: https://hexo.io/zh-cn/docs/
2.Git文档,里面有Git介绍、安装和使用等等,GitHub讲解也有: https://git-scm.com/doc
3.Node.js官网: https://nodejs.org
4.MakeDown语法中文版: http://www.markdown.cn/
1.HEXO+Github,搭建属于本身的博客
2.hexo--搭建
3.Hexo在github上构建免费的Web应用
为了更好的交流,能够加QQ群:415183844
码字不容易,转载请注明原地址,Jsyz Chen的博客:http://jsyzchen.com/2016/04/30/blog-wordpress-to-hexo/ 谢谢!