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::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
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.

Best,

Will



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?

Thanks,
Wes
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'
apparently.
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?

Wes
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
      Sass::Engine.new(text, Compass.sass_engine_options).render
    rescue
      ...
    end
  end

and you do need the initializer.

best,

will
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
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
This topic is locked and can not be replied to.