Skip to content

Instantly share code, notes, and snippets.

@datenimperator
Created September 7, 2012 18:55
Show Gist options
  • Star 40 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save datenimperator/3668587 to your computer and use it in GitHub Desktop.
Save datenimperator/3668587 to your computer and use it in GitHub Desktop.
Sinatra, sprockets, compass, bootstrap-sass playing together
@import "bootstrap";
body {
padding-top: 80px;
}
!!!
%html
%head
%meta{:charset => "utf-8"}
%title Sinatra, sprockets, compass, bootstrap-sass playing together
%link{ rel: 'stylesheet', href: stylesheet_path('application.css') }/
%body
.container
= yield
require './swc_application'
use Rack::Cache, verbose: false
map SwcApplication.assets_prefix do
run SwcApplication.assets
end
map '/' do
run SwcApplication
end
source :rubygems
gem 'shotgun', :group=>:development
gem 'rack-cache'
gem 'sinatra', :require => 'sinatra/base'
gem 'sinatra-support'
gem 'haml'
gem 'sprockets'
gem 'sprockets-helpers'
gem 'sprockets-sass'
gem 'compass'
gem 'bootstrap-sass'
gem 'coffee-script'
gem 'uglifier'
require 'bundler'
Bundler.require
# Helpers
require './lib/render_partial'
class SwcApplication < Sinatra::Base
set :root, File.dirname(__FILE__)
set :assets, Sprockets::Environment.new(root)
set :precompile, [ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]
set :assets_prefix, '/assets'
set :digest_assets, false
set(:assets_path) { File.join public_folder, assets_prefix }
configure do
# Setup Sprockets
%w{javascripts stylesheets images}.each do |type|
assets.append_path "assets/#{type}"
assets.append_path Compass::Frameworks['bootstrap'].templates_directory + "/../vendor/assets/#{type}"
end
assets.append_path 'assets/font'
# Configure Sprockets::Helpers (if necessary)
Sprockets::Helpers.configure do |config|
config.environment = assets
config.prefix = assets_prefix
config.digest = digest_assets
config.public_path = public_folder
end
Sprockets::Sass.add_sass_functions = false
set :haml, { :format => :html5 }
end
before do
expires 500, :public, :must_revalidate
end
get '/' do
haml :index, :layout => :'layouts/application'
end
helpers do
include Sprockets::Helpers
include RenderPartial
end
end
@jaredatron
Copy link

This is awesome. Thank you!

@hitmands
Copy link

hitmands commented Dec 6, 2013

Hey, i'm a new user in rails,
i need to work with compass, is there a way to prevent the sprockets compiling of .scss?

@hansy
Copy link

hansy commented Aug 23, 2014

Fantastic. I'm curious, what does your config.rb/compass.rb file look like?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment