tent.io/Rules
Jonathan Rudenberg 72067ba038 Init
2012-08-21 23:15:29 -04:00

76 lines
1.3 KiB
Ruby

#!/usr/bin/env ruby
preprocess do
create_robots_txt
create_webmaster_tools_authentications
create_sitemap
end
compile '/assets/css/*' do
filter :cache_buster
filter :rainpress
end
route %r{^/(assets/.*|sitemap|robots|atom)/$} do
next nil if item.identifier.split('/')[-1][0,1] == '_' # partial
fp = cachebust?(item) ? fingerprint(item[:filename]) : ''
item.identifier.chop + fp + '.' + item[:extension]
end
compile '/sitemap/' do
filter :erb
end
compile '/sitemap/', rep: 'gzip' do
filter :erb
filter :shellcmd, cmd: 'gzip'
end
route '/sitemap/', rep: 'gzip' do
'/sitemap.xml.gz'
end
compile '/posts/feed/' do
filter :erb
end
route '/posts/feed/' do
'/posts.xml'
end
compile %r{^/(google|robots|assets|favicon)} do
end
compile '*' do
case item[:extension]
when 'slim'
filter :slim
when 'md'
filter :redcarpet, renderer: MarkdownHTML, options: { fenced_code_blocks: true }
end
case item.identifier
when %r{^/posts/}
layout 'post'
else
layout 'default'
end
filter :cache_buster
end
route '/' do
'/index.html'
end
route '*' do
if item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
else
item.identifier.chop + '.html'
end
end
layout '*', :slim