HAML & SASS / COMPASS: можно ли разделить переменные между? - PullRequest
4 голосов
/ 11 февраля 2011

Сейчас я привыкаю работать с компасом и Хамлом, и это довольно круто. Однако было бы здорово, если бы эти двое могли работать более тесно вместе. Это кажется невозможным, однако я мог не заметить это или не искать должным образом.

Полагаю, я имею в виду что-то вроде этого:

файл общей переменной:

$container-id = "container"
$primary-column-id = "navbar"

Файл Haml:

!!! 5  
%html(lang="en")  
  %head  
    %title  
  %body  
    #{$container-id}  
      %section#{$primary-column-id}

Файл компаса:

#{$container-id} {
  width: 900px;
}

#{$primary-column-id} {
  width: 400px;
}

1 Ответ

4 голосов
/ 21 июня 2011

Судя по моим исследованиям и использованию, в настоящее время не поддерживается (без какого-либо специального внешнего решения). Я согласен, что в теории это было бы потрясающей функцией, но я полагаю, что она не существует из-за разделения интересов .

Например, определенные файлы Haml должны знать о связи с другими конкретными файлами Sass при компиляции и подбирать объявленные переменные. Это происходит Sass <- -> Sass, через частичные. Однако, с приведенной выше идеей -> разметка (Haml) несколько сливается со стилем (Sass / Scss). Хотя они ссылаются друг на друга - у них разные цели. например Идентификатор в DOM является атрибутом объекта, тогда как в таблице стилей идентификатор является селектором объекта.

Фреймворк (такой как Compass) теоретически может достичь чего-то подобного, потому что он смотрит на проекты - но может быть более целесообразно иметь единый файл конфигурации проекта (ни Sass, ни Haml) для объявлений переменных или чего-то еще.

Это был бы отличный вопрос, чтобы узнать мнение Криса Эппштейна по поводу: https://stackoverflow.com/users/41221/chriseppstein

...