2015-04-29 5 views
0

Можно ли вводить переменные в область Sass при использовании метода Sass.compile_file?Настройка переменных Sass в Sass.compile_file

В настоящее время я передаю значения в аргумент custom:, создавая специальную функцию sass, а затем вызывая это из файла/сценария Sass. Это очень неудобно, поскольку я должен создать объекты соответствующих типов для возврата из функций, то есть Sass::Script::String, а не String.

ответ

0

Я думаю, что по Is there a way I can overwrite LESS variable with LESS compiler in PHP? вы можете открыть файл самостоятельно и анализировать его содержимое через (Sass.compile) [http://sass-lang.com/documentation/Sass.html] вместо использования Sass.compile_file непосредственно.

С compile.rb:

#!/usr/bin/ruby  
require 'sass' 
data = File.read("./colors.scss") 
puts Sass::compile('$color: white;' + data) 

и colors.scss:

$color: blue !default; 
p { 
color: $color; 
} 

Запуск ./compile.rb выходов:

p { 
    color: white; } 

По данным the docs вы должны использовать Sass::Engine:

Использование Sass в Ruby очень простое. После установки драгоценного камня Sass, вы можете использовать его, запустив требуемый «sass» и используя Sass :: Engine.

#!/usr/bin/ruby 
require 'sass' 
template = File.read('./colors.scss') 
sass_engine = Sass::Engine.new("$color: white;\n" + template, :syntax => :scss) 
output = sass_engine.render 
puts output 
Смежные вопросы