slim-template / slim

Slim is a template language whose goal is to reduce the syntax to the essential parts without becoming cryptic.
https://slim-template.github.io
MIT License
5.31k stars 501 forks source link

SCSS - how to insert ruby variable? #733

Open gapipro opened 8 years ago

gapipro commented 8 years ago

I am trying to inject ruby variable into sass but I can't find any help on how to do it.

If I use CSS engine then it can be done like so:

  css:
    .remodal-overlay:after {
      background-image: url(#{variables['palette-background-color']});
    }

But when I try to do same thing with SCSS I get error:

Invalid CSS after "...r : #{variables": expected "}", was "["palette-backg..."

And here is my scss:

  scss:

    $color : #{variables["palette-background-color"]};

    .remodal-overlay:after {
      background-image:$color;
    }

Should I set local variables in ruby before using them in scss?

tetherit commented 7 years ago

I'm trying to do the same and hitting the same "Invalid CSS after..." error. Would be great to have a solution without resorting to the CSS engine.

chrisweconect commented 7 years ago

@xanview @gapipro - any luck with this?

minad commented 7 years ago

This is not supported because of the way sass code is compiled right now.

chrisweconect commented 7 years ago

@minad - so this type of stuff won't work anymore?

- if @network.titlebar_image
  scss:
    .navbar-default {
      background-image: url(#{@network.titlebar_image.url});
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
    }

thanks...

averbs commented 7 years ago

Just hit this today. Would be awesome to support ruby variables in the sass or scss filters.

elmirill commented 4 years ago

Nothing happens here. This one is still actual, though.