Radiant 0.9.1 (vendor'ed)
SNS extension
I'd like to take advantage of various Compass Sass features within my
Radiant layouts (e.g. border-radius, etc.).
Compass initialization file:
I pulled down the radiant/config/initializers/compass.rb file from
Github and placed it into vendor/radiant/config/initializers
require 'compass'
require 'compass/app_integration/rails'
Compass::AppIntegration::Rails.initialize!
Compass configuration file:
I took a compass.rb from another (non-Radiant) project and placed it in
vendor/radiant/config. I changed the paths based on my current settings
for the SNS extension:
# This configuration file works with both the Compass command line
tool and within Rails.
# Require any additional compass plugins here.
project_type = :rails
project_path = Compass::AppIntegration::Rails.root
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "css"
http_stylesheets_path = "/stylesheets"
sass_dir = "stylesheets/sass"
images_dir = "public/images"
http_images_path = "/images"
javascripts_dir = "public/javascripts"
http_javascripts_path = "/javascripts"
environment = Compass::AppIntegration::Rails.env
# To enable relative paths to assets via compass helper functions.
Uncomment:
# relative_assets = true
I @import compass/css3/border-radius in my Radiant-managed CSS (Sass)
file, but cannot use the "+border-radius" mixin within my CSS.
What am I doing wrong?
Many thanks,
Wes Gamble
on 2010-10-25 19:52
on 2010-10-25 21:01
You shouldn't need any special measures. Have you tried just putting @import compass/css3 At the top of one of your sheets? On edge that should just work. Best, Will Please excuse speling. Fat thumbs.
on 2010-10-25 21:21
I'm not on edge. Still doesn't work for me. I was already putting @import compass/css3/border-radius at the top of my sheet. Taking away the "border-radius" doesn't change the outcome, as you would expect. I am still not successfully pulling in the compass mixins at all. Does anyone know if there was anything besides the compass initializer that was added to support Compass in Radiant? Thanks, Wes
on 2010-10-25 21:59
Wes is using SNS, not Sheets (which is better and in Radiant edge) Wes, change the name of your config file. I believe it will create problems with compass. It doesn't really matter what you name the file, except 'compass.rb' apparently.
on 2010-10-25 22:32
Changed my RADIANT_ROOT/config/compass.rb file to compass_config.rb and got the same behavior. No compass mixins loaded. You did mean the config. file and not the initializer file, right? Wes
on 2010-10-26 10:39
On 25 Oct 2010, at 20:20, Wes Gamble wrote: > I'm not on edge. Still doesn't work for me. > > I was already putting @import compass/css3/border-radius at the top of my sheet. Taking away the "border-radius" doesn't change the outcome, as you would expect. I didn't say it would. I said the rest of your changes were unnecessary, but I didn't realise you were still running SNS. Sorry. In that case, you need to change the sns_sass_filter so that it passes through the compass configuration. This is probably the right way: def filter(text) begin Sass::Engine.new(text, Compass.sass_engine_options).render rescue ... end end and you do need the initializer. best, will
on 2010-12-17 23:35
Will,
I didn't see your response until just now. This seems to work for me.
Thanks for so much for the help!
Wes
======
class SnsSassFilter < StylesheetFilter
filter_name 'Sass'
def initialize
# you can add Sass options in here to control your filter output
# just make sure you know the consequences of doing so (including
# that you may need to update all your stylesheets to yield a new
# LAST-MODIFIED date from the cache.
load_path = Radiant::Config['SnS.sass_directory'] || 'css/sass/'
@sass_options = Compass.sass_engine_options
@sass_options[:load_paths] += [File.join(RAILS_ROOT, 'public',
load_path)]
end
def filter(text)
begin
Sass::Engine.new(text, @sass_options).render
rescue Sass::SyntaxError
"Syntax Error at line #{$!.sass_line}: " + $!.to_s
end
end
end
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.