Forum: Radiant CMS Need help with Compass configuration for Radiant

Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2010-10-25 19:52
(Received via mailing list)
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 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.
    # 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
0964828011133c856bae646e55911115?d=identicon&s=25 William Ross (spanner)
on 2010-10-25 21:01
(Received via mailing list)
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.



Please excuse speling. Fat thumbs.
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2010-10-25 21:21
(Received via mailing list)
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?

09477c358c5897d44121a248326e16d7?d=identicon&s=25 Jim Gay (Guest)
on 2010-10-25 21:59
(Received via mailing list)
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'
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2010-10-25 22:32
(Received via mailing list)
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?

0964828011133c856bae646e55911115?d=identicon&s=25 William Ross (spanner)
on 2010-10-26 10:39
(Received via mailing list)
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, Compass.sass_engine_options).render

and you do need the initializer.


Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2010-12-17 23:35

I didn't see your response until just now.  This seems to work for me.

Thanks for so much for the help!



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',

  def filter(text)
    begin, @sass_options).render
    rescue Sass::SyntaxError
      "Syntax Error at line #{$!.sass_line}: " + $!.to_s
This topic is locked and can not be replied to.