Sass миксин не компилируется?

Ранее я сделал миксин в sass 2.2.22 для своих размеров шрифта (это конвертер шрифтов), например:

=6.5pts
  :font
    :size 9px

Он работает с тех пор, как я впервые сделал его год назад. Мы только что обновились до haml/sass 3, и теперь всякий раз, когда я пытаюсь обновить страницу, над которой я работаю, появляется ошибка компиляции sass:

http://grab.by/4yFE

Я не понимаю, поскольку в документации Sass 3 говорится, что объявление = для миксинов НЕ устарело. Я попытался удалить haml 3.0, перезапустил свой сервер и удалил сгенерированный файл css, и теперь он, по-видимому, работает. Проблема в том, что мне нужен haml 3 для другого связанного проекта, где мы только начали использовать Compass.

Почему компилятор жалуется, когда в документации утверждается, что объявление не устарело?


person corroded    schedule 25.05.2010    source источник


Ответы (2)


Разрешает ли SASS-latest continue имена миксинов а) начинаться с цифры и б) содержать точку?

Из документов SASS: «Имена переменных и миксинов SassScript теперь могут содержать дефисы. Фактически, они могут быть любым допустимым идентификатором CSS3». Это говорит мне о том, что текст, который не является действительным идентификатором CSS3, может не представлять собой допустимую переменную SASS или имя миксина.

Из документов CSS: «В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы [a-zA-Z0-9] и символы ISO 10646 U+00A1 и выше, а также дефис ( -) и знак подчеркивания (_); они не могут начинаться с цифры или с дефиса, за которым следует цифра». Обратите внимание, что период имеет кодовую точку Unicode U+002E.

Если ранее SASS позволял вам обходиться без имен переменных и примесей, либо начинающихся с цифры, либо содержащих точку, то такое поведение могло быть непреднамеренным и теперь могло быть исключено из поддержки.

Есть на что посмотреть.

person yfeldblum    schedule 25.05.2010
comment
хм, да, это может быть чем-то, на что стоит обратить внимание, хотя это означает, что мне предстоит рефакторинг кода. Я думал об этом, но отрицал это для себя (отчасти потому, что я не хочу проводить рефакторинг), но тогда это похоже на единственный способ решить эту проблему. Я попробую завтра прокомментировать это и посмотреть, куда это меня приведет. - person corroded; 25.05.2010

вам, вероятно, нужно выразить это так:

=6.5pts
  font:
    size: 9px

см. прекрасный пример в ссылке: http://sass-lang.com/docs/yardoc/file.INDENTED_SYNTAX.html#mixin_directives

person Capi Etheriel    schedule 25.05.2010
comment
добавленное двоеточие также работает для sass, и оно не устарело в sass 3, верно? - person corroded; 25.05.2010
comment
я не знал об этом, но, поскольку этого нет в документации, возможно, он устарел. дай проверить. - person Capi Etheriel; 25.05.2010