twbs / bootstrap-rubygem

Bootstrap rubygem for Rails / Sprockets / Hanami / etc
https://rubygems.org/gems/bootstrap
MIT License
2.02k stars 447 forks source link

Dynamic on the fly CSS generation #265

Open pjmuller opened 1 year ago

pjmuller commented 1 year ago

Hi,

I installed the following gems (in a rails 5.2.8.1 project on ruby 2.7.7)

gem 'sass-rails', '~> 5.0'
gem 'bootstrap', '~> 5.3.1'
gem 'sassc', '~> 2.4.0'

If I create a file like app/assets/stylesheets/foobar_bootstrap.scss with content

$primary-color: blue;
@import "bootstrap";

it works perfect, however if I wish to generate styles on the fly in a controller action like

    sass_code = "$primary-color: blue; @import \"bootstrap\";"
    css_output = SassC::Engine.new(sass_code, syntax: :scss).render
    render plain: css_output, content_type: 'text/css'

I'm getting the error File to import not found or unreadable: bootstrap

any idea on how to point sassc to the right file?

Also I only want to overwrite the main colors, is there a lightweight way to only output all classes related to colours but leave the bulk file statically served?