Больше (Меньше CSS плагин для Rails) все еще рекомендуется? - PullRequest
11 голосов
/ 08 марта 2011

гем Less был заменен less.js, который работает на сервере с Node.js. Более того, «официальный» плагин Less для Rails не обновлялся с 14 июня 2010 года.

В свете всего этого, каков рекомендуемый способ использовать Less с Rails в наши дни? Я полагаю, что я всегда мог бы использовать для этого JS на стороне клиента, что, кажется, охватывает каждый. Но я не в восторге от того, что полагаюсь на JS на стороне клиента только для преобразования таблицы стилей, особенно учитывая, что я хотел бы изящно ухудшить качество. Я понимаю, что Less.js считается очень быстрым, но в принципе я не хочу, чтобы мой CSS полностью зависел от движка JS браузера.

Если я хочу скомпилировать Меньше серверной части, какова лучшая практика в наши дни для использования с Rails? Я знаю, что вы можете запускать Less с помощью Node.js, но я ищу хорошую интеграцию с Rails, как это было когда-то с More.

Я ищу что-то, что будет работать на Linux и Mac. В идеале это должен быть плагин gem или Rails, а не отдельное приложение.

Обновление: Я смотрю, можно ли использовать Ruby Racer для встраивания Less.js в приложение Rails. У кого-нибудь есть мнения по этому поводу?

Обновление 2: Этот вопрос действительно старый, но для тех, кто все еще заинтересован, я просто хотел отметить, что Rails 3 поставляется с интеграцией SCSS из коробки. SCSS - МЕНЬШИЙ конкурент, и я очень доволен этим.

Ответы [ 3 ]

4 голосов
/ 08 марта 2011

Попробуйте less.app для Mac OSX.http://incident57.com/less/

Используйте его в своем локальном устройстве разработки для генерации CSS.

Моя единственная жалоба заключается в том, что синтаксический анализ иногда срабатывает по определенным в IE правилам CSS, которые недопустимы, но обрабатываются нормальноby the more gem.

Кроме того, он не обрабатывает меньше парциальных значений (_file.less), чем more.

3 голосов
/ 16 марта 2011

Брайан, разработчик Less.app

Вы можете обрабатывать ЛЮБОЙ специфичный для IE код в Less, просто используя функцию escape, которая принимает строку. Таким образом, вы можете написать: e ("filter: alpha ..."); в вашем файле LESS, и он скомпилируется в ожидаемый специфичный для IE (хотя и нестандартный) CSS.

См. Lesscss.org для получения дополнительной информации. Бит о функции e () полностью в нижней части документа.

2 голосов
/ 17 марта 2011

Может быть бесполезен, но в настоящее время мы используем подход (PHP / node dev) на стороне клиента .less во время разработки и доставки скомпилированного .css при развертывании, используя lessc. Это может быть интегрировано в скрипты сборки или фиксировать коммиты, без волшебства :):

...