Скомпилируйте строку как файл Compass - PullRequest
4 голосов
/ 02 ноября 2011

Есть ли простой способ скомпилировать строку текста в виде таблицы стилей компаса (sass)?

Пример ввода: "section\n background: darken(white, 10%)"

Ответы [ 2 ]

4 голосов
/ 02 ноября 2011

sass имеет:

-s, --stdin   Read input from standard input instead of a n input file

и

--compass  Make Compass imports available and load project configuration.

Вы можете использовать popen с чем-то вроде этого:

output = IO.popen("sass -s --compass", "w+") do |pipe|
  pipe.puts "section\n background: darken(white, 10%)"
  pipe.close_write
  pipe.read
end

и вывод: section {\n background: #e6e6e6; }\n

2 голосов
/ 02 ноября 2011

Вы можете использовать метод класса Sass.compile. Чтобы использовать синтаксис .sass (с отступом), необходимо передать параметр :syntax => :sass:

require 'sass'

Sass.compile "section\n background: darken(white, 10%)", syntax: :sass
#=> "section {\n  background: #e6e6e6; }\n"

Примечание: Сам Compass не предоставляет эквивалентную функцию, поэтому, если вы хотите, чтобы все вкусности Compass вам понадобились @import 'compass' в вашем коде.

...