2012-03-07 6 views
2

LESSがインポートを含むために使用するパスを変更する際に問題があります。マイroutesファイルは、私は私のスタイルシートで@importと外部少ないファイルが含まれている場合LESSコンパイラは、ファイルを見つけることができない、しかし Sinatraのアプリケーションでlessオプションを解析する

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

を持っています。 viewsパスと public/cssディレクトリの両方にコピーを配置しましたが、それでも見つからない場合。しかし、普通の.cssファイルは public\cssにあります。

答えて

0

SCSSまたはプレーン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

は、このコミット70465f9によって傾きで固定する必要があります。

あなたはバンドラを使用している場合は、あなたのGemfileに次の行を追加すると、問題を解決する必要があります

gem 'tilt', :git => 'git://github.com/rtomayko/tilt.git' 
関連する問題