Как добавить файлы LESS в приложение rails

Кажется, я не могу заставить это работать в моем приложении rails. На высоком уровне я не хочу использовать LESS в своем приложении и пропускать его через конвейер активов.

Вот как выглядят мои активы:

assets
|
|--- javascript
|
|--- stylesheets
            |
            |-- reset.less
            |-- my-mixins.less
            |-- my-variables.less
            |-- base.less
|
|--- images
|
|--- libs
        |
        |---foo
            |
            |--css
                |
                |--- foo-mixins.less
                |
                |--- bar.less

Я хотел бы импортировать "my-mixins.less", "my-variables.less" и "foo-mixins.less" в "base.less", а также другие файлы. «bar.less» также следует добавить на определенные страницы, если это необходимо.

Как мне это сделать?


person say    schedule 11.08.2012    source источник


Ответы (3)


Это должно работать, если вы используете гем less-rails.

Во-первых, добавьте это куда-нибудь в свою конфигурацию (у меня есть в моем окружении.rb):

YourApp::Application.configure do
  config.less.paths << File.join(Rails.root, 'app', 'assets', 'less')
end

Теперь, если у вас есть такая настройка файла:

assets
|
|--- javascript
|
|--- css
|        |--- site-stylesheet.css.less
|
|--- less
         |--- my-mixins.less

Вы можете импортировать my-mixins в таблицу стилей сайта, используя:

@import "my-mixins"

И импортируйте таблицу стилей в свое приложение с помощью:

<%= stylesheet_link_tag "site-stylesheet" %>

Вы должны иметь возможность экстраполировать оттуда для вашей конкретной структуры каталогов.

person billmag    schedule 14.09.2012

В base.css.less можно написать @import "my-variables.less"; и все должно работать.

person Dev R    schedule 11.08.2012
comment
это то, что я думал, но это не работает. Я попробую еще раз, черт возьми. - person say; 12.08.2012

Файлы должны находиться в папке «vendor/assets» или «vendor/plugins» (оба на корневом уровне), чтобы ссылаться на них с относительными путями.

person say    schedule 12.08.2012