#!/usr/bin/env ruby

require 'compass'

puts "Compass running from: #{Compass.lib_directory}"

Compass.add_configuration "#{File.dirname(__FILE__)}/.compass/config.rb"

SITE_ROOT = "/docs"

compile '/assets/*/' do
  nil
end

['/examples/*/markup/', '/examples/*/stylesheet/', '/examples/*/background/'].each do |ex_file|
  compile ex_file do
    nil
  end
end

compile '/examples/*/' do
  filter :haml, :ugly => true
  filter :highlight if ENV['SYNTAX']
  layout 'example'
end

compile '/stylesheets/*/' do
  filter :sass, Compass.sass_engine_options
end

compile '/reference/*/' do
  filter :haml, :ugly => true
  filter :highlight if ENV['SYNTAX']
  layout 'default'
end

compile '*' do
  filter :haml, :ugly => true
  layout 'default'
end

route '/stylesheets/*/_*/' do
  # don't output partials, so return nil
  nil
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

['/examples/*/markup/', '/examples/*/stylesheet/', '/examples/*/background/'].each do |ex_file|
  route ex_file do
    nil
  end
end

route '*' do
  SITE_ROOT+item.identifier + 'index.html'
end

layout '*', :haml, :ugly => true