Я запускаю Mac OS X Mountain Lion и не настраиваю Ruby через RVM. Затем я установил Middleman (http://middlemanapp.com/), который отлично работает. Я смог добавить настройки конфигурации и выполнить сборку проекта.Sass/Compass не компилируется с использованием Guard с настройкой Middleman
Мои проблемы связаны с попыткой использовать Guard для компиляции Sass/Compass и ссылки с LiveReload для автоматического обновления моего браузера.
Моей Посредник структуры проекта выглядит следующим образом:
{имя-проект}/сайт/источник
(источник папка Посредник, который компилируется в папку «сборки» в том же самом уровень)
Мой Gemfile/config.rb/guardfile здесь:
{имя-проекта}/s ite/
Ниже перечислены мои Gemfile, Config.rb и мой файл Guard.
Gemfile:
# If you have OpenSSL installed, we recommend updating
# the following line to use "https"
source 'https://rubygems.org'
gem 'middleman', '~>3.0.12'
gem 'sass'
gem 'compass'
gem 'oily_png'
gem 'guard'
gem 'guard-compass'
gem 'guard-shell' # Run shell commands.
gem 'guard-livereload' # Browser reload.
gem 'rb-fsevent', :require => false # Mac OSX
Congid.rb (Также содержит некоторые конфигурации для Middleman сборки, но не связанные с Sass/Compass)
# Sass options:
# http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#options
sass_options = Hash.new
# Enable Sass inspection directly from the browser.
#
# Chrome Canary support (Applies to Webkit Nightlies as well.):
# http://blog.q42.nl/post/35203391115/debug-sass-and-less-in-webkit-inspector-and-save-css-cha
# Firefox Extension:
# https://addons.mozilla.org/en-US/firefox/addon/firesass-for-firebug
#
# Set to true to enable. Enabling will disable `line_comments`.
#
sass_options[:debug_info] = true
##
# Compass configuration:
# http://compass-style.org/help/tutorials/configuration-reference
# Development is the default environment. When compiling for production, this
# should be flagged as :production. This can be done through the command line
# with the following.
#
# $ compass compile -e production --force
#
environment = :development
sass_dir = 'source/sass'
css_dir = 'source/css'
js_dir = 'source/js'
images_dir = 'source/img'
relative_assets = true
output_style = (environment == :production ? :compressed : :expanded)
Guardfile
# ~/.guardfile
# More info at https://github.com/guard/guard#readme
notification :off
puts "Using guard file for markweston project."
group :development do
if File.exists?("./config.rb")
# Compile on start.
puts `compass compile --time --quiet`
# https://github.com/guard/guard-compass
guard :compass do
watch(%r{(.*)\.s[ac]ss$})
end
end
## Look for specified files in the current and child directories.
## `find` requires Ruby 1.9 or greater.
require 'find'
if Find.find(Dir.pwd).detect{|dir|dir=~/.+\.(css|js|html?|php|inc|theme)$/}
guard :livereload do
watch(%r{.+\.(css|js|html?|php|inc|theme)$})
end
end
# Uncomment block above and remove this if using Ruby 1.9 or greater.
# https://github.com/guard/guard-livereload.
# guard :livereload do
# watch(%r{.+\.(css|js|html?|php|inc|theme)$})
# end
end
Я могу запустить «execle exec guard», который работает, и когда я запускаю LiveReload в моем браузере, терминал сообщает мне, что браузер подключен.
Одна вещь, чтобы отметить, что я получаю эту ошибку после запуска «расслоение EXEC караул»:
NoMethodError на линии [ «264»] из /Users/Mark/.rvm/gems/ruby-1.9 .3-p385/gems/compass 0.12.2/lib/compass/configuration/inheritance.rb: активировать
Имея некоторые проблемы с тем, чтобы понять это на данный момент.
Основная проблема заключается в том, что я фактически пишу любой Sass в одном из моих .scss-файлов, хранящихся в моем sass-каталоге, они не компилируются в .css в моем каталоге css. Терминал ничего не говорит, ничего не происходит. У меня что-то не так с моей конфигурацией, но я просто не могу понять, что.
Помогите пожалуйста?
Thanks,
Оценка.
@CraigColes включает ссылку на проект установки, который удобен, но стоит отметить, что сайт Middleman фактически построен в Middleman, поэтому его можно использовать в качестве демонстрации: [Middleman Guides] (https://github.com/middleman/middleman-guides), но он более сложный, чем другой пример. –