大概 11 年接触 jekyll,感觉他很 cool 很 geek,甚至我还帮助扩展了 gallery plugin 但是,jekyll 有一个非常非常简单但是常用的需求没有做到,就是类似 about me, contact me 这样的固定页面,添加这些页面及其麻烦,要手动改 nav,改动的难度不一,比如 bootstrap 可以给当前页面增加 active class 的话就要
{{ if page == 'xx' }}
<li class="active"></li>
{{ else }}
<li></li>
{{ end }}
这对开发皮肤的人来说十分不便的,另一方面就是 liquid 的 helper 编写起来十分复杂,所以直接用 jekyll 很简单,但扩展起来很难... 这就是我变得不喜欢他的开头...
liquid 我没理解错的话是 shopify 解决在线皮肤编辑设计的模板引擎,目的是为了安全,但是自己的 blog 皮肤开发,需要考虑安全么?最后 build 出来的是 html 呀。。。
所以接触 middleman 之后,便毫不犹豫的成为其脑残粉,erb(也支持 haml,slim)+ rails-like helper 可以极大的减少视图代码中出现逻辑
对于使用者,就是博客主人,写文章、发布无非就是middleman article post title
vi source/articles/post-title.md
middleman deploy
可以说,和 jekyll 同样方便
而且 middleman 源生支持 assets pipeline, minify html, css, js, 也可以利用 bootstrap-sass 这样的 vendor gem, 省去要手动更新各种库,还有一个很有用的 digest,用 jekyll 的时候有没有遇到过更新博客后因为缓存新站点点没生效的?digest 就是防止这种情况发生的
最后附上一个正在开发中的目的在于干倒 octopress 的基于 middleman-blog 的博客程序——haven https://github.com/jasl/haven
当然我最近开始学钢琴了,业余编程的时间比较少,极有可能坑,我只是想给大家看看简单调整下配置,我几乎没有编写什么代码,就做到和 octopress 一样便捷易用了 - -
Update 顺手写的几个辅助 gem jquery-middleman middleman-blog_page