| #!/usr/bin/env ruby |
| |
| # A few helpful tips about the Rules file: |
| # |
| # * The order of rules is important: for each item, only the first matching |
| # rule is applied. |
| # |
| # * Item identifiers start and end with a slash (e.g. “/about/” for the file |
| # “content/about.html”). To select all children, grandchildren, … of an |
| # item, use the pattern “/about/*/”; “/about/*” will also select the parent, |
| # because “*” matches zero or more characters. |
| |
| require 'compass' |
| |
| Compass.add_project_configuration 'compass/config.rb' # when using Compass 0.10 |
| |
| compile '/style/*/' do |
| filter :sass, Compass.sass_engine_options.merge(:syntax => :scss) |
| end |
| |
| compile '/images/*/' do |
| # do nothing |
| end |
| |
| compile '*' do |
| if item[:extension] == "haml" |
| filter :haml |
| layout 'default' |
| end |
| if item[:extension] == "md" |
| filter :kramdown |
| filter :colorize_syntax, |
| :default_colorizer => :pygmentize, |
| :pygmentize => { :linenos => 'inline', :options => { :startinline => 'True' } } |
| layout 'default' |
| end |
| filter :relativize_paths, :type => :html |
| end |
| |
| route '/style/partials/*/' do |
| # don't output partials, so return nil |
| nil |
| end |
| |
| route '/style/*/' do |
| # don't generate a directory like we do for HTML files |
| item.identifier.chop + '.css' |
| end |
| |
| route '/images/*/' do |
| # don't generate a directory like we do for HTML files |
| item.identifier.chop + '.' + item[:extension] |
| end |
| |
| route '*' do |
| item.identifier + 'index.html' |
| end |
| |
| layout '*', :haml |