新博客

Hello World

新博客完成,这个Hexo博客是搭建在Github上的静态页面博客。我在博客这条路上的路线也是蛮弯的,WordPress、Octopress、Jekyll、Hexo。这个博客主题由主题yilia修改而来,样式参照了Octopress主题greyshade,在此表示感谢。

从Octopress到Jekyll

我是先入的Octopress的坑,在这个过程中,闯过了HTML5,CSS3,JavaScript的初学者关卡,还有额外关卡Liquid,Ruby,Sass,Compass,Stylus,也是一边查攻略一边过了。Sass和函数库Compass让我第一次知道CSS还有这么好用的preprocessor,各种mixins,各种强大。

Octopress比Jekyll扩展程度高,有些过滤器比如category_links是Jekyll没有的,所以需要另外根据需要将rb文件添加到_plugin里面,所有的rb文件会自动编译。Octopress支持compass,但是Jekyll还不支持compass,需要装一个插件jekyll-compass。这个插件的介绍和安装方法在上面的Github链接里面有详细的介绍。装好之后Jekyll就支持compass了,可以把scss文件放到博客文件夹下的_compass中。这个文件夹里所有下划线开头的文件都不会被编译(但是可以在其他的scss文件里面import),只有sass/scss文件会被编译。

Compass的编译命令是compass compile,也可以直接用jekyll build或者jekyll serve来编译并生成网站,这个状态下compass是开启watch模式的,也就是会监视你更新的项目文件并自动编译,这时Jekyll如果监视选项也是打开的,那么也就会自动更新静态网页了。

两个Tips

我在编译插件category_generator时出现了错误

1
Build Warning: Layout 'none' requested in ... does not exist.

这时只要把category_feed.xml中的nil改为null即可。

本地Jekyll的中文博客md文件名不能含有中文,且需要为UTF-8(无BOM)格式编码,必须是无BOM,要不然会编译错误。

从Jekyll到Hexo

在修改样式的过程中,发现原主题greyshade的样式代码比较混乱,但是我作为菜鸟一只,也不知道静态博客中好的架构到底是什么样的,不得已也就先用着了,心想着总有一天我要重构一下。后来我发现yilia主题和greyshade主题很相似,而且作者的代码也写得很规范,我正好在学JavaScript,所以就入了Hexo的坑。不得不说Hexo的确生成静态页面很快。

继续做改进

博客还有继续改进的空间,包括

  • 样式修改,添加加载进度条
  • 增加demo作品集
  • 移动端布局的优化
  • 性能优化,延迟加载

有空再说吧。。