年初 @yedingding 来北京的时候介绍过 middleman teahour.fm 就是用这个搭出来的
之前用过 jekyll 和 octopress,有一个需求一直没人去解决:我的博客需要“关于我”、“我的简历”、“联系方式”等自定义页面,通常情况下,每建立一个页面,就需要去修改导航,极端的情况如若导航需要把当前页面的链接设定特别样式,那么我们就需要
{% if page.current == 'archives' %}
<li><a href="{{ root_url }}/blog/archives" class="current">archives</a></li>
{% else %}
<li><a href="{{ root_url }}/blog/archives">archives</a></li>
{% endif %}
编写多次(来自 octopress+liquid,middleman 可以像 rails 或者 sinatra 那样简单的实现出 view helper,所以实际不会写的这么啰嗦)
现在,使用 middleman-blog_page 你可以把页面放到source/pages
目录下,或者middleman blog_page About Me
来生成 然后
<% blog_pages.each do |page| %>
<li><%= link_to page.title, page %></li>
<% end %>
至于显示顺序,可以在页面中增加 priority 来设置
代码很简单,其实我没亲自写过多少行...只是简化了 middleman-blog 而已
ps:目前正在用 middleman 和 middleman-blog 扩展重新开发自己的博客,middleman 用起来比 octopress 舒服很多,不过还没有完全掌握之,所以就不对比了