2012-03-07 3 views
2

У меня возникли проблемы с изменением пути, который LESS использует для включения импорта. Мои маршруты файл имеетРазбор LESS-параметров в приложении Sinatra

get "/css/main.css" do 
    less :main, :paths => ["public/css"] 
end 

Однако, если включить внешний меньше файл с @import в моей таблице стилей LESS компилятор не может найти файл. Я поместил копию в каталог views и public/css, но он все еще не может его найти. Он может, однако, найти простые .css-файлы в public\css.

ответ

0

Вы можете использовать что-то вроде этого здесь, который я использую, чтобы забрать все .css файлы ли (т.е. он выглядит на публике первой по умолчанию, а затем переходит проверить в представлениях) или простой СКС CSS:

get '/css/:file.css' do                                    
    halt 404 unless File.exist?("views/#{params[:file]}.scss")                           
    time = File.stat("views/#{params[:file]}.scss").ctime                            
    last_modified(time)                                     
    scss params[:file].intern                                   
end 

Вам придется заменить scss на меньшее, чтобы он работал.

1

Я ударил этого сегодня, и был в состоянии решить эту проблему следующим образом:

require 'less' 
require 'sinatra/base' 

class App < Sinatra::Base 
    # Make LESS @import statements work 
    Less.paths << settings.views 

    # Use LESS for CSS 
    get '/stylesheets/:style.css' do 
    less(params[:style].to_sym) 
    end 
end 
0

Попутных варианты для Less должны быть закреплены в наклоне на этой фиксации 70465f9.

Если вы используете Bundler, добавив следующую строку в ваш Gemfile должен решить проблему:

gem 'tilt', :git => 'git://github.com/rtomayko/tilt.git' 
Смежные вопросы