Rules
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
#!/usr/bin/env ruby
compile /^\/(archives|home)\// do
filter :erb
layout 'default'
end
compile /^\/(projects|about)/ do
filter :erb
filter :redcloth
layout 'default'
end
compile /(rss|atom)/ do
filter :erb unless rep.binary? # e.g. rss.png image
end
compile '/styles/_*/' do
end
compile '/styles/*' do
if item[:extension] == "scss" && item.identifier.match(/style\/$/) then
filter :sass, {
:load_paths => [Dir.pwd+"/content/styles"],
:syntax => :scss,
:style => :compact
}
end
end
compile "sitemap" do
filter :erb
end
compile /^\/(js\/.+?)/ do
# do nothing
end
compile '/glyph/book/*' do
# do nothing
end
compile '*' do
if item[:filters_pre] && !item[:filters_pre].empty? then
item[:filters_pre].each do |f|
filter f.to_sym
end
layout 'default'
else
unless rep.binary? then
case item[:extension]
when 'textile' then
filter :redcloth
layout 'default'
when 'md','markdown' then
filter :bluecloth
layout 'default'
when 'bbcode' then
filter :bbcode
layout 'default'
when 'glyph' then
pdf_file = Pathname.new "#{Dir.pwd}/output#{item.identifier.gsub(/\/$/, '')}.pdf"
glyph_config @item
glyph_pdf_for @item unless pdf_file.exist?
glyph_article_for @item
end
end
end
end
route /^\/tags\/.+?-(atom|rss)/ do
item.identifier.gsub(/(.+)-(rss|atom)\/$/, '\1/\2') + '.xml'
end
route '/(atom|rss)/' do
item.identifier.chop + '.xml'
end
route '/css/*' do
item.identifier.chop + '.css'
end
route '/styles/_*/' do
nil
end
route '/styles/*' do
item.identifier.chop + '.css'
end
route '/glyph/book/' do
'/glyph/book/index.html'
end
route '/glyph/book/images/glyph/*' do
item.identifier.chop + ".#{item[:extension]}"
end
route '/glyph/book/*' do
item.identifier.chop+'.html'
end
route '/sitemap' do
item.identifier.chop + '.xml'
end
route "/htaccess" do
"/.htaccess"
end
route /\/(images|img|files|favicon|robots)\// do
item.identifier.chop + ".#{item[:extension]}"
end
route '/js/*' do
item.identifier.chop + '.js'
end
route '/fonts/*' do
item.identifier.chop + '.ttf'
end
route '*' do
item.identifier + 'index.html'
end
layout '*', :erb
|