Hi,
Im trying to include a custom CSS file for radiant. Previously, I just
replaced the main.css file in the radiant gem directory - but thats not
"sustainable".

I tried following Sean's instructions below but have run into trouble. The
technique is to create an extension that runs a before filter that calls:
include_stylesheet 'my_stylesheet'

But it looks like the include_stylesheet is crashing because the @stylesheet
array is empty.

The line it is failing on is:
controllers/application.rb line 22
"@stylesheets << sheet"

My extension looks like this:

def activate
     require_dependency 'application'
     SiteController.class_eval do

       prepend_before_filter :customize_admin_css

       def customize_admin_css
           include_stylesheet ('radiant_custom')
      end
   end
  end

Any ideas anyone - could be something silly as I am still a rubynuby.

Thanks!
Topher


Following is the dev log trace:

NoMethodError (You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.<<):
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/app/controllers/application.rb:22:in `include_stylesheet'
    
C:/a_Systems/InstantRails-1.7-win/rails_apps/henry_radiant2/vendor/extensions/custom_stylesheet/custom_stylesheet_extension.rb:18:in
`customize_admin_css'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:469:in `send'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:469:in `call'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:442:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:714:in
`run_before_filters'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:694:in
`call_filters'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:688:in
`perform_action_without_benchmark'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/1.8/benchmark.rb:293:in
`measure'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:66:in
`perform_action_without_rescue'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/rescue.rb:83:in
`perform_action'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/base.rb:435:in `send'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/base.rb:435:in
`process_without_filters'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/filters.rb:684:in
`process_without_session_management_support'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/session_management.rb:114:in
`process'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/actionpack/lib/action_controller/base.rb:334:in `process'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/railties/lib/dispatcher.rb:41:in `dispatch'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/rails.rb:78:in `process'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/rails.rb:76:in `synchronize'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/rails.rb:76:in `process'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:618:in `process_client'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:617:in `each'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:617:in `process_client'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:736:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:736:in `initialize'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:736:in `new'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:736:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:720:in `initialize'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:720:in `new'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel.rb:720:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/configurator.rb:271:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/configurator.rb:270:in `each'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/configurator.rb:270:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/bin/mongrel_rails:127:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/lib/mongrel/command.rb:211:in `run'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/mongrel-
1.0.1-mswin32/bin/mongrel_rails:243
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in
`load'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in
`load'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in
`new_constants_in'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:488:in
`load'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/railties/lib/commands/servers/mongrel.rb:60
    
C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
    
C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in
`require'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in
`new_constants_in'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/activesupport/lib/active_support/dependencies.rb:495:in
`require'
    C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/gems/1.8/gems/radiant-
0.6.4/vendor/rails/railties/lib/commands/server.rb:39
    
C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`gem_original_require'
    
C:/a_Systems/InstantRails-1.7-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
    script/server:3

On Dec 2, 2007 2:02 PM, Sean Cribbs <[EMAIL PROTECTED]> wrote:

> Richard,
>
> This is rather trivial to do with an extension.  Write your desired CSS,
> put it in your extension public/stylesheets directory.  Then put
> something like this in your extension's activate method:
>
>    SiteController.class_eval do
>
>        before_filter :customize_admin_css
>
>        def customize_admin_css
>
>            include_stylesheet 'my_stylesheet'
>
>       end
>
>    end
>
> Obviously you'd want to name your stylesheet something else.  Hope this
> is helpful!
>
> Sean
>
> Richard Hurt wrote:
> > Putting the controls on a sidebar is OK with me.  I would even be fine
> with
> > a smaller text for the page title and various controls.  I'm screen
> height
> > challenged, not blind.  :)
> >
> > Hmmm...what about a way to customize the CSS of the Admin pages for each
> > install?  Would that work?  It wouldn't even have to be anything fancy
> like
> > a table in the DB, just a static file on the server would work for me.
>  We
> > could then change the look & feel of the pages pretty easily and to fit
> > within our own guidelines.
> >
> > Later...
> >   Richard
> >
> > On Dec 2, 2007 3:08 PM, Ryan Heneise <[EMAIL PROTECTED]> wrote:
> >
> >
> >> I think I prefer having the buttons underneath the form, because it is
> >> more standard and fits the open-edit-save workflow. Moving the buttons
> >> to the top breaks with convention.
> >>
> >> What about a 2-column layout (similar to this:
> >> http://www.madebyfrog.com/news/preview_layout_for_version_1)
> >> , moving the meta-data form inputs to the second column? If some of
> >> the metadata were moved out of the way horizontally, then the body of
> >> the form could be shorter.
> >>
> >>
> >>
> >> On Dec 2, 2007, at 6:30 AM, Andrew Neil wrote:
> >>
> >>
> >>>> 5. Can we make the edit page a little more friendly for those of us
> >>>> without 1700x2400 displays?  :)
> >>>>
> >>> I feel your pain. A couple of thoughts:
> >>>
> >>> * "Save Changes" and "Save and continue" buttons could go at the top,
> >>> perhaps level with the "Edit Page" heading, but floated to the right.
> >>> * The same two buttons could be given access keys, e.g. S and C, so
> >>> that you can trigger them with a key command, rather than pushing
> >>> them with your cursor.
> >>>
> >>> A
> >>> _______________________________________________
> >>> Radiant mailing list
> >>> Post:   Radiant@lists.radiantcms.org
> >>> Search: http://radiantcms.org/mailing-list/search/
> >>> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
> >>>
> >>>
> >> _______________________________________________
> >> Radiant mailing list
> >> Post:   Radiant@lists.radiantcms.org
> >> Search: http://radiantcms.org/mailing-list/search/
> >> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
> >>
> >>
> > _______________________________________________
> > Radiant mailing list
> > Post:   Radiant@lists.radiantcms.org
> > Search: http://radiantcms.org/mailing-list/search/
> > Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
> >
> >
>
> _______________________________________________
> Radiant mailing list
> Post:   Radiant@lists.radiantcms.org
> Search: http://radiantcms.org/mailing-list/search/
> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>



-- 
Christopher Zimmermann
[EMAIL PROTECTED]
604-484-9279
_______________________________________________
Radiant mailing list
Post:   Radiant@lists.radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to