Подтвердить что ты не робот

Использование Менее в приложении Rails 3.1

Я только что обновил свое приложение до последней версии rails (3.1), и я хочу интегрировать Twitter Bootstrap в мое приложение, но он использует LESS, а не SASS, что по умолчанию используется Rails 3.1.

Как мне настроить конфигурацию Rails для использования Less вместо Sass?

4b9b3361

Ответ 1

Как указывает apneadiving, Sprockets (то, что Rails 3.1 использует для своего конвейера активов) поддерживает LESS.

Чтобы настроить приложение Rails для поддержки LESS, вы можете добавить драгоценный камень в группу активов вашего Gemfile:

group :assets do
  gem 'less'
end

Затем запустите bundle install, чтобы получить драгоценный камень less и его зависимости (который, кстати, включает в себя камень libv8, и может потребоваться некоторое время для установки).

Теперь это просто вопрос использования расширения .css.less со стилями в вашем каталоге ./app/assets/stylesheets. Обратите внимание, что вы не получите никаких полезных сообщений, если у вас есть какие-либо синтаксические ошибки в ваших файлах LESS (это помогло мне на секунду).

Ответ 2

Для Rails 3.1 теперь мы имеем @metaskill less-rails gem, который предоставляет помощники и т.д., специфичные для Rails. Это довольно ново, но, похоже, активно поддерживается.

Вы также можете использовать less-rails-bootstrap драгоценный камень (тем же автором), чтобы вытащить библиотеки начальной загрузки.

gem 'less-rails'
gem 'less-rails-bootstrap'

Также см. мой пост здесь об использовании Bootstrap и его mixins на Rails.

Ответ 3

Довольно прямо, см. оригинальный документ здесь:

Стили с меньшим

LESS расширяет CSS с динамическим поведением, таким как переменные, mixins, операций и функций.

Если для вашего приложения доступно меньшее количество драгоценных камней, вы можете использовать LESS для писать объекты CSS в Sprockets. Заметим, что компилятор LESS написан в JavaScript, и на момент написания этой статьи на therubyracer, который внедряет среду выполнения V8 JavaScript в Ruby.

Чтобы написать атрибуты CSS с LESS, используйте расширение .css.less.