#!/usr/bin/env ruby require 'pathname' compile '/' do layout 'home' filter :rubypants end compile '*/json/' do filter :erb end compile %r{/(?:technical|personal|)articles/(page/|)} do filter :erb layout 'articles' filter :rubypants end compile %r(/\d{4}/.*) do filter :rdiscount layout 'article' layout 'default' filter :rubypants end compile %r{.*/feed/} do filter :erb end compile %r{(?:/robots/|/sitemap)} do filter :erb end compile '*' do filter :rdiscount layout 'default' filter :rubypants end route '*/json/' do path = Pathname(item.identifier) (path.dirname + 'articles.json').to_s end route %r{.*/feed/} do path = Pathname(item.identifier) path.cleanpath.to_s + '.xml' end route '/robots/' do '/robots.txt' end route '/sitemap/' do '/sitemap.xml' end route '*' do item.identifier + 'index.html' end layout '*', :erb