起因
重新部署octopress的时候又遇到各种问题,
首先是我发现octopress出到3了,于是很自然的就不能用旧版本了,
按照octopress3的文档安装部署总是不能顺利的完成,
而且看了一下octopress3的源码提交,好像也没有人继续维护了的感觉,
在octopress的官网上也没有把3作为一个正式的产品推出,所以还是有点心生退意。
恰好之前看到说Hexo用js编写的,用起来也方便,于是就试试。
易用性方面Hexo确实是足够简单了。
很多人看不上Hexo的原因居然是不够复杂,不够酷。这一点其实我不太敢赞同。因为我觉得工程师也好Hacker也好程序员也好,都不会为了过瘾去做某些事情。 大家在Github上部署静态blog的原因无非就是:
- 免费
- 自由
- 完全可控
并不是为了炫耀,为了显得与众不同,为了这样的目的去做任何事情其实都有点幼稚的感觉。
持续写blog的目的其实就是为了写作,记录,整理自己的所得。
我选择静态blog 而不是wordpress 来编写tech类的blog的原因其实主要是因为在格式控制、渲染公式、图片、表格上 更可控。
初次安装
我并没有选择迁移octopress的数据,而是直接把github的repo清空了,重新开始的。
遇到的仅有的两个问题
- git clone 以后,如果执行 hexo init,hexo会把repo的git信息全部清理掉。所以,我采取的方式是,在其他目录hexo init,然后把hexo拷贝到repo下。
- config.yml中冒号后面必须有空格的问题,这个是一个大家都知道的bug,不再多言。
整个过程是这样的:
- 安装node.js
- 安装Hexo:
sudo npm install -g hexo
建立一个目录,用来init hexo。
123$ mkdir hexo$ cd hexo$ hexo init修改_config.yml:
1234567891011title: Hippo & YirigaCheffeesubtitle: sssa2000's tech blogdescription:author: sssa2000language: zh-CNurl: http://sssa2000.github.iopost_asset_folder: truedeploy:type: gitrepo: https://github.com/sssa2000/sssa2000.github.io.gitbranch: master到另一个目录blog,clone github的repo:
1git clone https://github.com/sssa2000/sssa2000.github.io创建分支hexo_source,并且切换到这个分支。这个分支是用来把hexo的设置、主题、以及原始的md文件同步到github上的。当然其实也可以不同步到github,保存到网盘或者单独起一个repo也可以。
12git branch hexo_sourcegit checkout hexo_source把hexo目录下的文件,拷贝到repo目录下。
在repo目录下 执行npm安装几个hexo的插件
1234$ npm install hexo-deployer-git --save$ npm install hexo-renderer-jade --save$ npm install hexo-renderer-sass --save$ npm install https://github.com/CodeFalling/hexo-asset-image --save在repo的目录下执行生成预览命令,hexo clean很重要!
1234$ hexo clean$ hexo generate$ hexo server用 http://localhost:4000/ 在本地预览用hexo d 来发布网站。
- 用以下命令把网站源文件备份12345确保切换到hexo_source分支git checkout hexo_sourcegit add .git commit -m "save blog"git push origin hexo_source
在Mac 下的安装
- 首先要在Mac上安装Xcode,因为homebrew依赖。
安装homebrew主要是为了方便的安装git。安装homebrew的方法是在终端输入
1ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装Node.js。我是在官网下载的dmg安装的 也可以用git的方式安装
- 克隆blog的仓库。因为这个时候github上已经有仓库了,所以只需要克隆下来即可。假设克隆的仓库的地址是gitblog
- 进入到gitblog目录,切换到hexo_source分支。这个分支是之前在另一台电脑上创建的分支 已经上传github。
- 进入到gitblog,安装hexo:也就是在终端执行hexo init,或者在别的目录执行hexo init 然后把文件拷贝过来
- 在repo目录下 执行npm安装几个hexo的插件
```
$ npm install hexo-deployer-git –save
$ npm install hexo-renderer-jade –save
$ npm install hexo-renderer-sass –save
$ npm install https://github.com/CodeFalling/hexo-asset-image –save - 此时已经可以用了。