|
|
e8ec7a |
#!/usr/bin/env ruby
|
|
|
e8ec7a |
|
|
|
e8ec7a |
#
|
|
|
e8ec7a |
require 'compass'
|
|
|
e8ec7a |
require 'susy'
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
Compass.add_project_configuration 'config.rb'
|
|
|
e8ec7a |
sass_options = Compass.sass_engine_options
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
TypographicalImprovementFilter = :rubypants
|
|
|
e8ec7a |
TypographicalImprovementFilterParams = {}
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
preprocess do
|
|
|
e8ec7a |
config[:nanoc_version_info] = `nanoc
|
|
|
e8ec7a |
config[:gem_version_info] = `gem
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
route '/static/*' do
|
|
|
e8ec7a |
# /static/foo.html/ → /foo.html
|
|
|
e8ec7a |
item.identifier[7..-2]
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
route 'sitemap' do
|
|
|
e8ec7a |
item.identifier.chop + '.xml'
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
route '/assets/css/bootstrap/_*/' do
|
|
|
e8ec7a |
|
|
|
e8ec7a |
nil
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
route '/assets/css/*/' do
|
|
|
e8ec7a |
# path with version
|
|
|
e8ec7a |
'/assets/style' + '-v' + rep.item[:version].to_s + '.css'
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
route '*' do
|
|
|
e8ec7a |
if item.binary?
|
|
|
e8ec7a |
item.identifier.chop + '.' + item[:extension]
|
|
|
e8ec7a |
elsif item[:is_partial] || item[:kind] == 'article'
|
|
|
e8ec7a |
# Don’t output partial items (e.g. sub-stylesheets)
|
|
|
e8ec7a |
nil
|
|
|
e8ec7a |
elsif item[:path]
|
|
|
e8ec7a |
item[:path]
|
|
|
e8ec7a |
else
|
|
|
e8ec7a |
|
|
|
e8ec7a |
rep.item.identifier + 'index.html'
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
compile 'sitemap' do
|
|
|
e8ec7a |
filter :erb
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
compile '/assets/css/bootstrap/_*/' do
|
|
|
e8ec7a |
# Don’t compile partials
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
compile '/assets/css/*/' do
|
|
|
e8ec7a |
filter :sass, Compass.sass_engine_options
|
|
|
e8ec7a |
filter :relativize_paths, :type => :css
|
|
|
e8ec7a |
filter :rainpress
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
compile '/static/*' do
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
compile '*' do
|
|
|
e8ec7a |
if item.binary?
|
|
|
e8ec7a |
|
|
|
e8ec7a |
else
|
|
|
e8ec7a |
puts "item = #{item.identifier} -- extension = #{item[:extension]}"
|
|
|
e8ec7a |
case item[:extension]
|
|
|
e8ec7a |
when 'md'
|
|
|
e8ec7a |
filter :erb
|
|
|
e8ec7a |
filter :kramdown
|
|
|
e8ec7a |
when 'haml'
|
|
|
e8ec7a |
filter :erb
|
|
|
e8ec7a |
filter :haml
|
|
|
e8ec7a |
when 'js'
|
|
|
e8ec7a |
filter :erb
|
|
|
e8ec7a |
filter :uglify_js
|
|
|
e8ec7a |
when 'adoc'
|
|
|
e8ec7a |
filter :asciidoc
|
|
|
e8ec7a |
else
|
|
|
e8ec7a |
filter :erb
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
layout 'default-haml' unless item[:extension] == 'js'
|
|
|
e8ec7a |
filter :add_ids_to_headers
|
|
|
e8ec7a |
filter TypographicalImprovementFilter, TypographicalImprovementFilterParams
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
end
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
|
|
|
e8ec7a |
layout '*', :haml
|