centos.org website repository
Fabian Arrotin
9 days ago 1ac600ea5050757040c6bb157c90e5a9f9882490
commit | author | age
e8ec7a 1 #!/usr/bin/env ruby
JP 2
3 ## Required Gems
4 require 'compass'
5 require 'susy'
6
7 ### Compass configuration ####################################################
8 Compass.add_project_configuration 'config.rb'
9 sass_options = Compass.sass_engine_options
10
11 ### Configuration ############################################################
12 TypographicalImprovementFilter = :rubypants
13 TypographicalImprovementFilterParams = {}
14
15 ### Preprocessing ############################################################
16 preprocess do
17   config[:nanoc_version_info] = `nanoc --version`.strip
18   config[:gem_version_info]   = `gem --version`.strip
19 end
20
21 ### Routing ##################################################################
22 route '/static/*' do
23   # /static/foo.html/ → /foo.html
24   item.identifier[7..-2]
25 end
26
27 route 'sitemap' do
28   item.identifier.chop + '.xml'
29 end
30
31
32 route '/assets/css/bootstrap/_*/' do
33   # Don't output partials, so return nil
34   nil
35 end
36
37 route '/assets/css/*/' do
38   # path with version
39   '/assets/style' + '-v' + rep.item[:version].to_s + '.css'
40 end
41
42 route '*' do
43   if item.binary?
44     item.identifier.chop + '.' + item[:extension]
45   elsif item[:is_partial] || item[:kind] == 'article'
46     # Don’t output partial items (e.g. sub-stylesheets)
47     nil
48   elsif item[:path]
49     item[:path]
50   else
51     # Place each file in its own directory
52     rep.item.identifier + 'index.html'
53   end
54 end
55
56
57 ### Compilation ##############################################################
58
59 compile 'sitemap' do
60   filter :erb
61 end
62
63 compile '/assets/css/bootstrap/_*/' do
64   # Don’t compile partials
65 end
66
67 compile '/assets/css/*/' do
68   filter :sass, Compass.sass_engine_options
69   filter :relativize_paths, :type => :css
70   filter :rainpress
71 end
72 compile '/static/*' do
73 end
74
75 compile '*' do 
76   if item.binary?
77     # ha, do nothing! :)
78   else
79     puts "item = #{item.identifier} -- extension = #{item[:extension]}"
80     case item[:extension]
81     when 'md'
82       filter :erb
83       filter :kramdown
84     when 'haml'
85       filter :erb
86       filter :haml
87     when 'js'
88       filter :erb
89       filter :uglify_js
90     when 'adoc'
91       filter :asciidoc
92     else
93       filter :erb
94     end
95   layout 'default-haml' unless item[:extension] == 'js' 
96   filter :add_ids_to_headers
97   filter TypographicalImprovementFilter, TypographicalImprovementFilterParams
98   end
99 end
100 ### Layouting ################################################################
101
102
103 layout '*', :haml