Structure of key application directories
- padrino_app
- app
- assets
- images
- javascripts
- scss
- app.rb
- assets
- app
module Profile | |
class App < Padrino::Application | |
set :root, File.dirname(__FILE__) # Must be set | |
register Padrino::Rendering | |
register Padrino::Helpers | |
enable :sessions | |
## | |
# Assets management | |
# Compass | |
register Sinatra::CompassSupport | |
sass_dir = File.join(File.dirname(__FILE__), 'assets/scss') | |
Compass.configuration do |c| | |
c.project_path = root | |
c.images_dir = "assets/images" | |
c.http_generated_images_path = "/images" # necessary for sprite generation | |
c.http_images_path = "/images" | |
c.cache_dir = '../tmp/sass-cache' # optional | |
c.sass_options = { | |
load_paths: [sass_dir] + Compass.sass_engine_options[:load_paths] } # necessary if using SASS partials | |
end | |
# Asset Pack | |
register Sinatra::AssetPack | |
set :scss, Compass.sass_engine_options # necessary if using SASS partials | |
assets { | |
serve '/js', from: 'assets/javascripts' | |
serve '/css', from: 'assets/scss' | |
serve '/images', from: 'assets/images' | |
js :app, [ | |
'/js/jquery.js', | |
'/js/jquery-ujs.js', | |
'/js/app.js' | |
] | |
css :styles, ['/css/styles.css'] | |
css :ie, ['/css/ie.css'] | |
js_compression :uglify | |
css_compression :sass | |
} | |
end | |
end |
Structure of key application directories
## Add to your Padrino Gemfile… | |
# Assets | |
gem 'sass' | |
gem 'uglifier' | |
gem 'sinatra-assetpack' | |
gem 'sinatra-support', :require => 'sinatra/support/compasssupport' | |
# Component requirements | |
gem 'haml' | |
gem 'compass' |
Oh god, you saved my day. Much <3