mirror of
https://github.com/wezm/wezm.net.git
synced 2024-11-18 12:52:47 +00:00
63 lines
883 B
Ruby
63 lines
883 B
Ruby
#!/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
|