最初の Sinatra アプリを開始したばかりで、 Guard-Lessを起動して実行しようとしています。.less ファイルを変更しても CSS が更新されないというrb-readline の問題は既に修正しましたが、コンパイルされた CSS ファイルの出力を正しいディレクトリに取得することもできません。Guard-Less は、CSS が正しいディレクトリにコンパイルされることを保証するオプションを Guard に渡すことができると言っていますが:output
、これはまだ一度も機能していません。CSS は、LESS ファイルと同じディレクトリにコンパイルされます。
foreman start
ローカルでアプリを実行しています。
ガードファイル:
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
guard 'less',
:all_on_start => true,
:output => 'public/assets/css' do
watch(%r{^less/(.+\.less)$})
end
Gemfile:
source 'https://rubygems.org'
gem 'sinatra'
gem 'shotgun'
gem 'therubyracer'
gem 'rb-readline'
gem 'less', '~>1.2'
gem 'haml'
gem 'rb-fsevent', '~> 0.9'
gem 'guard-less'
プロファイル:
guard: bundle exec guard
web: bundle exec ruby bootstrap.rb -p $PORT
bootstrap.rb ファイル:
require 'rubygems'
require 'sinatra/base'
require 'haml'
class MyApp < Sinatra::Base
get '/' do
haml :index
end
end
MyApp.run!
の出力はguard show
、オプションが認識されていることを証明します。
$ guard show
+---------+--------+--------+-----------------------+
| Group | Plugin | Option | Value |
+---------+--------+--------+-----------------------+
| Default | Less | output | "public/assets/css" |
+---------+--------+--------+-----------------------+
最悪の場合、出力 css と同じディレクトリに .less ファイルを残すことができますが、これは私を悩ませ、機能させたいと考えています。何か案は?