compass/doc-src/Rules
2011-04-28 20:45:01 -07:00

134 lines
2.5 KiB
Ruby

#!/usr/bin/env ruby
require 'compass'
Compass.add_configuration "#{File.dirname(__FILE__)}/.compass/config.rb"
SITE_ROOT = ""
compile '/assets/*/' do
nil
end
['markup', 'stylesheet', 'background'].each do |ex_file|
compile "/examples/*/#{ex_file}/" do
nil
end
end
compile '/' do
filter :haml, :ugly => true
layout item[:layout] ? item[:layout] : "main"
end
compile '/search-data/' do
filter :erb
end
compile '/examples/*/' do
filter :haml, :ugly => true
filter :highlight
layout item[:layout] ? item[:layout] : "example"
end
sass_options = Compass.sass_engine_options
(0..5).each do |i|
compile("/stylesheets/#{'*/' * i}_*/") {nil}
end
compile '/stylesheets/*' do
filter :sass, sass_options.merge(:syntax => item[:extension].to_sym)
end
compile '/reference/*/' do
filter :haml, :ugly => true
filter :highlight
layout item[:layout] ? item[:layout] : "main"
end
compile '/posts/*/' do
filter :erb
filter :rdiscount if item[:extension] == "markdown"
layout 'post'
end
compile "/blog/atom/" do
filter :haml, :attr_wrapper => '"'
end
compile 'sitemap' do
filter :erb
end
compile '*' do
if item[:extension] == "markdown"
filter :rdiscount
elsif item[:extension] == "haml"
filter :haml, :ugly => true
end
layout item[:layout] ? item[:layout] : "main"
end
route 'sitemap' do
item.identifier.chop + '.xml'
end
route "/blog/atom/" do
"/blog/atom.xml"
end
route '/search-data/' do
"#{SITE_ROOT}/javascripts"+item.identifier[0..-2]+".js"
end
(0..5).each do |i|
route("/stylesheets/#{'*/' * i}_*/") {nil}
end
route '/assets/htaccess/' do
"#{SITE_ROOT}/.htaccess"
end
route '/assets/css/*/' do
"#{SITE_ROOT}/stylesheets"+item.identifier.chop[11..-1]+"."+item[:extension]
end
route '/assets/images/*/' do
SITE_ROOT+item.identifier.chop[7..-1]+"."+item[:extension]
end
route '/assets/javascripts/*/' do
SITE_ROOT+item.identifier.chop[7..-1]+"."+item[:extension]
end
route '/assets/fonts/*/' do
SITE_ROOT+item.identifier.chop[7..-1]+"."+item[:extension]
end
route '/stylesheets/*/' do
# don't generate a directory like we do for HTML files
SITE_ROOT+item.identifier.chop + '.css'
end
route '/posts/*/' do
if item.identifier =~ %r{^/posts/(\d{4})-(\d{2})-(\d{2})-(.*)/$}
"/blog/#{$1}/#{$2}/#{$3}/#{$4}/index.html"
else
puts "WARNING: malformed post name: #{item.identifier}"
nil
end
end
%w(markup stylesheet background).each do |ex_file|
route "/examples/*/#{ex_file}/" do
nil
end
end
route '*' do
SITE_ROOT+item.identifier + 'index.html'
end
layout '*', :haml, :ugly => true