pass specs again
4
Gemfile
|
@ -1,6 +1,6 @@
|
|||
bundle_path "lib/middleman/vendor/gems"
|
||||
bin_path "lib/middleman/vendor/bin"
|
||||
disable_rubygems
|
||||
# disable_rubygems
|
||||
# disable_system_gems
|
||||
|
||||
gem "shotgun"
|
||||
|
@ -11,7 +11,7 @@ gem "sinatra-content-for"
|
|||
gem "rack-test"
|
||||
gem "yui-compressor"
|
||||
gem "haml"
|
||||
gem "compass"
|
||||
gem "compass", "0.10.0.pre1"
|
||||
gem "json_pure"
|
||||
gem "smusher"
|
||||
gem "compass-slickmap"
|
|
@ -6,7 +6,7 @@ ENV['MM_ENV'] = "build"
|
|||
require File.join(File.dirname(__FILE__), "..", "lib", "middleman")
|
||||
require 'middleman/builder'
|
||||
|
||||
#Middleman::Base.init!
|
||||
# Middleman::Base.init!
|
||||
Middleman::Builder.init!
|
||||
|
||||
Middleman::Generators.run_cli(Dir.pwd, 'mm-build', 1, %w(build --force).concat(ARGV))
|
8
features/generator.feature
Normal file
|
@ -0,0 +1,8 @@
|
|||
Feature: Generator
|
||||
In order to generate static assets for client
|
||||
|
||||
Scenario: Copying template files
|
||||
Given generated directory at "generator-test"
|
||||
Then template files should exist at "generator-test"
|
||||
And empty directories should exist at "generator-test"
|
||||
And cleanup at "generator-test"
|
|
@ -1,2 +1,3 @@
|
|||
ENV["MM_DIR"] = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", "sample")
|
||||
require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'lib', 'middleman')
|
||||
require "rack/test"
|
24
features/step_definitions/generator_steps.rb
Normal file
|
@ -0,0 +1,24 @@
|
|||
require 'fileutils'
|
||||
|
||||
Then /^template files should exist at "([^\"]*)"$/ do |dirname|
|
||||
target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", dirname)
|
||||
template_glob = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "lib", "middleman", "template", "*/**/*")
|
||||
|
||||
Dir[template_glob].each do |f|
|
||||
next if File.directory?(f)
|
||||
File.exists?("#{target}/#{f.split('template/')[1]}").should be_true
|
||||
end
|
||||
end
|
||||
|
||||
Then /^empty directories should exist at "([^\"]*)"$/ do |dirname|
|
||||
target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", dirname)
|
||||
|
||||
%w(views/stylesheets public/stylesheets public/javascripts public/images).each do |d|
|
||||
File.exists?("#{target}/#{d}").should be_true
|
||||
end
|
||||
end
|
||||
|
||||
Then /^cleanup at "([^\"]*)"$/ do |dirname|
|
||||
target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", dirname)
|
||||
FileUtils.rm_rf(target)
|
||||
end
|
|
@ -1,10 +1,15 @@
|
|||
Given /^"([^\"]*)" feature is "([^\"]*)"$/ do |feature, state|
|
||||
enable_or_disable = (state == "enabled") ? :enable : :disable
|
||||
Middleman::Base.set :root, File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", "sample")
|
||||
Middleman::Base.send(enable_or_disable, feature.to_sym)
|
||||
@browser = Rack::Test::Session.new(Rack::MockSession.new(Middleman::Base.new))
|
||||
end
|
||||
|
||||
Given /^generated directory at "([^\"]*)"$/ do |dirname|
|
||||
target = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec", "fixtures", dirname)
|
||||
init_cmd = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "bin", "mm-init")
|
||||
`cd #{File.dirname(target)} && #{init_cmd} #{File.basename(target)}`
|
||||
end
|
||||
|
||||
When /^I go to "([^\"]*)"$/ do |url|
|
||||
@browser.get(url)
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@ end
|
|||
module Middleman
|
||||
class Base < Sinatra::Base
|
||||
set :app_file, __FILE__
|
||||
set :root, Dir.pwd
|
||||
set :root, ENV["MM_DIR"] || Dir.pwd
|
||||
set :reload, false
|
||||
set :logging, false
|
||||
set :environment, ENV['MM_ENV'] || :development
|
||||
|
@ -18,21 +18,23 @@ module Middleman
|
|||
set :js_dir, "javascripts"
|
||||
set :css_dir, "stylesheets"
|
||||
set :images_dir, "images"
|
||||
set :fonts_dir, "fonts"
|
||||
set :build_dir, "build"
|
||||
set :http_prefix, nil
|
||||
|
||||
use Rack::ConditionalGet if environment == :development
|
||||
helpers Sinatra::ContentFor
|
||||
|
||||
@@features = []
|
||||
|
||||
set :features, []
|
||||
def self.enable(*opts)
|
||||
@@features << opts
|
||||
set :features, (self.features << opts).flatten
|
||||
super
|
||||
end
|
||||
|
||||
def self.disable(*opts)
|
||||
@@features -= opts
|
||||
current = self.features
|
||||
current -= opts.flatten
|
||||
set :features, current
|
||||
super
|
||||
end
|
||||
|
||||
|
@ -67,14 +69,14 @@ module Middleman
|
|||
include StaticRender
|
||||
|
||||
def self.page(url, options={}, &block)
|
||||
get(url) do
|
||||
request.layout = @@layout if (@@layout ||= nil)
|
||||
request.layout = options[:layout] if options[:layout]
|
||||
layout = @@layout
|
||||
layout = options[:layout] if !options[:layout].nil?
|
||||
|
||||
get(url) do
|
||||
if block_given?
|
||||
yield
|
||||
else
|
||||
process_request
|
||||
process_request(layout)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -91,15 +93,20 @@ module Middleman
|
|||
process_request
|
||||
end
|
||||
|
||||
def self.enabled?(name)
|
||||
name = (name.to_s << "?").to_sym
|
||||
self.respond_to?(name) && self.send(name)
|
||||
end
|
||||
|
||||
private
|
||||
def process_request
|
||||
def process_request(layout = :layout)
|
||||
# Normalize the path and add index if we're looking at a directory
|
||||
path = request.path
|
||||
path << options.index_file if path.match(%r{/$})
|
||||
path.gsub!(%r{^/}, '')
|
||||
|
||||
# If the enabled renderers succeed, return the content, mime-type and an HTTP 200
|
||||
if content = render_path(path, (request.layout || :layout))
|
||||
if content = render_path(path, layout)
|
||||
content_type media_type(File.extname(path)), :charset => 'utf-8'
|
||||
status 200
|
||||
content
|
||||
|
@ -116,13 +123,13 @@ require "middleman/sass"
|
|||
require "middleman/helpers"
|
||||
require "middleman/rack/static"
|
||||
require "middleman/rack/sprockets"
|
||||
require "middleman/rack/minify_javascript"
|
||||
require "middleman/rack/minify_css"
|
||||
require "middleman/rack/downstream"
|
||||
|
||||
class Middleman::Base
|
||||
helpers Middleman::Helpers
|
||||
|
||||
use Middleman::Rack::Static
|
||||
use Middleman::Rack::Sprockets
|
||||
|
||||
# Features disabled by default
|
||||
disable :slickmap
|
||||
disable :cache_buster
|
||||
|
@ -139,17 +146,23 @@ class Middleman::Base
|
|||
configure :build do
|
||||
end
|
||||
|
||||
def self.new(*args, &bk)
|
||||
# Check for and evaluate local configuration
|
||||
local_config = File.join(self.root, "init.rb")
|
||||
if File.exists? local_config
|
||||
puts "== Reading: Local config" if logging?
|
||||
class_eval File.read(local_config)
|
||||
Middleman::Base.class_eval File.read(local_config)
|
||||
set :app_file, File.expand_path(local_config)
|
||||
end
|
||||
|
||||
use Middleman::Rack::Static
|
||||
use Middleman::Rack::Sprockets
|
||||
use Middleman::Rack::MinifyJavascript
|
||||
use Middleman::Rack::MinifyCSS
|
||||
use Middleman::Rack::Downstream
|
||||
|
||||
def self.new(*args, &bk)
|
||||
# loop over enabled feature
|
||||
@@features.flatten.each do |feature_name|
|
||||
features.flatten.each do |feature_name|
|
||||
next unless send(:"#{feature_name}?")
|
||||
|
||||
feature_path = "features/#{feature_name}"
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
module Middleman
|
||||
module Minified
|
||||
module Sass
|
||||
include ::Haml::Filters::Base
|
||||
|
||||
def render(text)
|
||||
result = ::Sass::Engine.new(text, ::Sass::Plugin.engine_options).render
|
||||
|
||||
if Middleman::Base.respond_to?(:minify_css?) && Middleman::Base.minify_css?
|
||||
compressor = YUI::CssCompressor.new
|
||||
compressor.compress(result)
|
||||
else
|
||||
result
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
17
lib/middleman/rack/downstream.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
module Middleman
|
||||
module Rack
|
||||
class Downstream
|
||||
def initialize(app, options={})
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
if env["DOWNSTREAM"]
|
||||
env["DOWNSTREAM"]
|
||||
else
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
27
lib/middleman/rack/minify_css.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
begin
|
||||
require "yui/compressor"
|
||||
rescue LoadError
|
||||
puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
|
||||
end
|
||||
|
||||
module Middleman
|
||||
module Rack
|
||||
class MinifyCSS
|
||||
def initialize(app, options={})
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
if env["DOWNSTREAM"] && env["PATH_INFO"].match(/\.css$/) && Middleman::Base.enabled?(:minify_css)
|
||||
compressor = ::YUI::CssCompressor.new
|
||||
|
||||
source = env["DOWNSTREAM"][2].is_a?(::Rack::File) ? File.read(env["DOWNSTREAM"][2].path) : env["DOWNSTREAM"][2]
|
||||
env["DOWNSTREAM"][2] = compressor.compress(source)
|
||||
env["DOWNSTREAM"][1]["Content-Length"] = ::Rack::Utils.bytesize(env["DOWNSTREAM"][2]).to_s
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
29
lib/middleman/rack/minify_javascript.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
begin
|
||||
require "yui/compressor"
|
||||
rescue LoadError
|
||||
puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
|
||||
end
|
||||
|
||||
module Middleman
|
||||
module Rack
|
||||
class MinifyJavascript
|
||||
def initialize(app, options={})
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
if env["DOWNSTREAM"] && env["PATH_INFO"].match(/\.js$/) && Middleman::Base.enabled?(:minify_javascript)
|
||||
compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
|
||||
|
||||
source = env["DOWNSTREAM"][2].is_a?(::Rack::File) ? File.read(env["DOWNSTREAM"][2].path) : env["DOWNSTREAM"][2]
|
||||
env["DOWNSTREAM"][2] = compressor.compress(source)
|
||||
env["DOWNSTREAM"][1]["Content-Length"] = ::Rack::Utils.bytesize(env["DOWNSTREAM"][2]).to_s
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Middleman::Base.supported_formats << "js"
|
|
@ -6,12 +6,6 @@ rescue LoadError
|
|||
puts "Sprockets not available. Install it with: gem install sprockets"
|
||||
end
|
||||
|
||||
begin
|
||||
require "yui/compressor"
|
||||
rescue LoadError
|
||||
puts "YUI-Compressor not available. Install it with: gem install yui-compressor"
|
||||
end
|
||||
|
||||
module Middleman
|
||||
module Rack
|
||||
class Sprockets
|
||||
|
@ -21,33 +15,28 @@ module Middleman
|
|||
|
||||
def call(env)
|
||||
path = env["PATH_INFO"]
|
||||
source = File.join(Middleman::Base.views, path)
|
||||
|
||||
if path.match(/\.js$/)
|
||||
if File.exists?(source)
|
||||
source_pub = File.join(Middleman::Base.views, path)
|
||||
source_view = File.join(Middleman::Base.views, path)
|
||||
source = "public" if File.exists?(source_pub)
|
||||
source = "views" if File.exists?(source_view)
|
||||
|
||||
if env["DOWNSTREAM"] && path.match(/\.js$/) && source
|
||||
source_file = env["DOWNSTREAM"][2].is_a?(::Rack::File) ? env["DOWNSTREAM"][2].path : env["DOWNSTREAM"][2]
|
||||
|
||||
secretary = ::Sprockets::Secretary.new( :root => Middleman::Base.root,
|
||||
:source_files => [ File.join("views", path) ],
|
||||
:source_files => [ source_file ],
|
||||
:load_path => [ File.join("public", Middleman::Base.js_dir),
|
||||
File.join("views", Middleman::Base.js_dir) ])
|
||||
|
||||
result = secretary.concatenation.to_s
|
||||
else
|
||||
result = File.read(File.join(Middleman::Base.public, path))
|
||||
env["DOWNSTREAM"][2] = secretary.concatenation.to_s
|
||||
env["DOWNSTREAM"][1]["Content-Length"] = ::Rack::Utils.bytesize(env["DOWNSTREAM"][2]).to_s
|
||||
end
|
||||
|
||||
|
||||
if Middleman::Base.respond_to?(:minify_javascript?) && Middleman::Base.minify_javascript?
|
||||
compressor = ::YUI::JavaScriptCompressor.new(:munge => true)
|
||||
result = compressor.compress(result)
|
||||
end
|
||||
|
||||
[200, { "Content-Type" => "text/javascript" }, [result]]
|
||||
else
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Middleman::Base.supported_formats << "js"
|
|
@ -3,25 +3,21 @@ module Middleman
|
|||
class Static
|
||||
def initialize(app, options={})
|
||||
@app = app
|
||||
root = Middleman::Base.public
|
||||
@file_server = ::Rack::File.new(root)
|
||||
end
|
||||
|
||||
def templatize_js?(path)
|
||||
path.match(/\.js$/) && Middleman::Base.respond_to?(:minify_javascript?) && Middleman::Base.minify_javascript?
|
||||
end
|
||||
|
||||
def call(env)
|
||||
path = env["PATH_INFO"]
|
||||
file_path = File.join(Middleman::Base.public, path)
|
||||
public_file_path = File.join(Middleman::Base.public, env["PATH_INFO"])
|
||||
view_file_path = File.join(Middleman::Base.views, env["PATH_INFO"])
|
||||
|
||||
if templatize_js?(path)
|
||||
@app.call(env)
|
||||
elsif path.include?("favicon.ico") || (File.exists?(file_path) && !File.directory?(file_path))
|
||||
@file_server.call(env)
|
||||
else
|
||||
@app.call(env)
|
||||
if File.exists?(public_file_path) && !File.directory?(public_file_path)
|
||||
file_server = ::Rack::File.new(Middleman::Base.public)
|
||||
env["DOWNSTREAM"] = file_server.call(env)
|
||||
elsif File.exists?(view_file_path) && !File.directory?(view_file_path)
|
||||
file_server = ::Rack::File.new(Middleman::Base.views)
|
||||
env["DOWNSTREAM"] = file_server.call(env)
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,7 @@ module Middleman
|
|||
|
||||
css_filename = File.join(location_of_sass_file, request.path_info)
|
||||
result = sass(path.to_sym, ::Compass.sass_engine_options.merge({ :css_filename => css_filename }))
|
||||
if options.respond_to?(:minify_css?) && options.minify_css?
|
||||
if options.enabled?(:minify_css?)
|
||||
YUI::CssCompressor.new.compress(result)
|
||||
else
|
||||
result
|
||||
|
@ -84,7 +84,9 @@ class Middleman::Base
|
|||
::Compass.configuration do |config|
|
||||
config.project_path = self.root
|
||||
config.sass_dir = File.join(File.basename(self.views), self.css_dir)
|
||||
config.output_style = :nested
|
||||
config.output_style = self.enabled?(:minify_css) ? :compressed : :nested
|
||||
config.line_comments = false
|
||||
config.fonts_dir = File.join(File.basename(self.public), self.fonts_dir)
|
||||
config.css_dir = File.join(File.basename(self.public), self.css_dir)
|
||||
config.images_dir = File.join(File.basename(self.public), self.images_dir)
|
||||
config.http_images_path = self.http_images_path rescue File.join(self.http_prefix || "/", self.images_dir)
|
||||
|
@ -102,5 +104,6 @@ class Middleman::Base
|
|||
end
|
||||
|
||||
::Compass.configure_sass_plugin!
|
||||
Sass::Plugin.options.update(:line_comments => false)
|
||||
end
|
||||
end
|
|
@ -2,7 +2,7 @@
|
|||
%html{ :xmlns => "http://www.w3.org/1999/xhtml", "xml:lang" => "en", :lang => "en" }
|
||||
%head
|
||||
%meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-Type" }
|
||||
// Comment in layout
|
||||
/ Comment in layout
|
||||
= stylesheet_link_tag "site.css"
|
||||
:javascript
|
||||
// Comment in javascript
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@import compass.sass
|
||||
@import blueprint/screen.sass
|
||||
@import blueprint.sass
|
||||
|
||||
!font_color = #2a2a2a
|
||||
!link_color = #0388a6
|
||||
|
|
2
lib/middleman/vendor/bin/compass
vendored
|
@ -1,3 +1,3 @@
|
|||
#!/Users/tdreyno/homebrew/Cellar/ruby/1.9.1-p243/bin/ruby
|
||||
require File.join(File.dirname(__FILE__), "../gems/environment")
|
||||
load File.join(File.dirname(__FILE__), "../gems/gems/compass-0.8.17/bin/compass")
|
||||
load File.join(File.dirname(__FILE__), "../gems/gems/compass-0.10.0.pre1/bin/compass")
|
BIN
lib/middleman/vendor/gems/cache/compass-0.10.0.pre1.gem
vendored
Normal file
BIN
lib/middleman/vendor/gems/cache/compass-0.8.17.gem
vendored
BIN
lib/middleman/vendor/gems/cache/rack-test-0.5.2.gem
vendored
BIN
lib/middleman/vendor/gems/cache/rack-test-0.5.3.gem
vendored
Normal file
145
lib/middleman/vendor/gems/environment.rb
vendored
|
@ -6,53 +6,111 @@ module Bundler
|
|||
ENV["PATH"] = "#{dir}/../bin:#{ENV["PATH"]}"
|
||||
ENV["RUBYOPT"] = "-r#{file} #{ENV["RUBYOPT"]}"
|
||||
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/httpclient-2.1.5.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/httpclient-2.1.5.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/highline-1.5.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/highline-1.5.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/diff-lcs-1.1.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/diff-lcs-1.1.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/ext/json/ext")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/ext")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json-1.2.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.14/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.14/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/extlib-0.9.13/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.8.17/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.8.17/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-slickmap-0.2.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-slickmap-0.2.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/smusher-0.4.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/smusher-0.4.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json_pure-1.2.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/json_pure-1.2.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/httpclient-2.1.5.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/httpclient-2.1.5.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rake-0.8.7/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sprockets-1.0.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sprockets-1.0.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/templater-1.0.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-1.0.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.3/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/rack-test-0.5.3/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/configuration-1.1.0/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/launchy-0.3.3/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/shotgun-0.4/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/shotgun-0.4/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-0.9.4/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-0.9.4/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/smusher-0.4.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/smusher-0.4.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/yui-compressor-0.9.1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-content-for-0.2/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/sinatra-content-for-0.2/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.14/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/haml-2.2.14/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.10.0.pre1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-0.10.0.pre1/lib")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-slickmap-0.2.1/bin")
|
||||
$LOAD_PATH.unshift File.expand_path("#{dir}/gems/compass-slickmap-0.2.1/lib")
|
||||
|
||||
@gemfile = "#{dir}/../../../../Gemfile"
|
||||
|
||||
require "rubygems"
|
||||
|
||||
@bundled_specs = {}
|
||||
@bundled_specs["extlib"] = eval(File.read("#{dir}/specifications/extlib-0.9.13.gemspec"))
|
||||
@bundled_specs["extlib"].loaded_from = "#{dir}/specifications/extlib-0.9.13.gemspec"
|
||||
@bundled_specs["highline"] = eval(File.read("#{dir}/specifications/highline-1.5.1.gemspec"))
|
||||
@bundled_specs["highline"].loaded_from = "#{dir}/specifications/highline-1.5.1.gemspec"
|
||||
@bundled_specs["diff-lcs"] = eval(File.read("#{dir}/specifications/diff-lcs-1.1.2.gemspec"))
|
||||
@bundled_specs["diff-lcs"].loaded_from = "#{dir}/specifications/diff-lcs-1.1.2.gemspec"
|
||||
@bundled_specs["templater"] = eval(File.read("#{dir}/specifications/templater-1.0.0.gemspec"))
|
||||
@bundled_specs["templater"].loaded_from = "#{dir}/specifications/templater-1.0.0.gemspec"
|
||||
@bundled_specs["json"] = eval(File.read("#{dir}/specifications/json-1.2.0.gemspec"))
|
||||
@bundled_specs["json"].loaded_from = "#{dir}/specifications/json-1.2.0.gemspec"
|
||||
@bundled_specs["json_pure"] = eval(File.read("#{dir}/specifications/json_pure-1.2.0.gemspec"))
|
||||
@bundled_specs["json_pure"].loaded_from = "#{dir}/specifications/json_pure-1.2.0.gemspec"
|
||||
@bundled_specs["httpclient"] = eval(File.read("#{dir}/specifications/httpclient-2.1.5.2.gemspec"))
|
||||
@bundled_specs["httpclient"].loaded_from = "#{dir}/specifications/httpclient-2.1.5.2.gemspec"
|
||||
@bundled_specs["rake"] = eval(File.read("#{dir}/specifications/rake-0.8.7.gemspec"))
|
||||
@bundled_specs["rake"].loaded_from = "#{dir}/specifications/rake-0.8.7.gemspec"
|
||||
@bundled_specs["sprockets"] = eval(File.read("#{dir}/specifications/sprockets-1.0.2.gemspec"))
|
||||
@bundled_specs["sprockets"].loaded_from = "#{dir}/specifications/sprockets-1.0.2.gemspec"
|
||||
@bundled_specs["rack"] = eval(File.read("#{dir}/specifications/rack-1.0.1.gemspec"))
|
||||
@bundled_specs["rack"].loaded_from = "#{dir}/specifications/rack-1.0.1.gemspec"
|
||||
@bundled_specs["rack-test"] = eval(File.read("#{dir}/specifications/rack-test-0.5.3.gemspec"))
|
||||
@bundled_specs["rack-test"].loaded_from = "#{dir}/specifications/rack-test-0.5.3.gemspec"
|
||||
@bundled_specs["configuration"] = eval(File.read("#{dir}/specifications/configuration-1.1.0.gemspec"))
|
||||
@bundled_specs["configuration"].loaded_from = "#{dir}/specifications/configuration-1.1.0.gemspec"
|
||||
@bundled_specs["launchy"] = eval(File.read("#{dir}/specifications/launchy-0.3.3.gemspec"))
|
||||
@bundled_specs["launchy"].loaded_from = "#{dir}/specifications/launchy-0.3.3.gemspec"
|
||||
@bundled_specs["shotgun"] = eval(File.read("#{dir}/specifications/shotgun-0.4.gemspec"))
|
||||
@bundled_specs["shotgun"].loaded_from = "#{dir}/specifications/shotgun-0.4.gemspec"
|
||||
@bundled_specs["sinatra"] = eval(File.read("#{dir}/specifications/sinatra-0.9.4.gemspec"))
|
||||
@bundled_specs["sinatra"].loaded_from = "#{dir}/specifications/sinatra-0.9.4.gemspec"
|
||||
@bundled_specs["smusher"] = eval(File.read("#{dir}/specifications/smusher-0.4.2.gemspec"))
|
||||
@bundled_specs["smusher"].loaded_from = "#{dir}/specifications/smusher-0.4.2.gemspec"
|
||||
@bundled_specs["yui-compressor"] = eval(File.read("#{dir}/specifications/yui-compressor-0.9.1.gemspec"))
|
||||
@bundled_specs["yui-compressor"].loaded_from = "#{dir}/specifications/yui-compressor-0.9.1.gemspec"
|
||||
@bundled_specs["sinatra-content-for"] = eval(File.read("#{dir}/specifications/sinatra-content-for-0.2.gemspec"))
|
||||
@bundled_specs["sinatra-content-for"].loaded_from = "#{dir}/specifications/sinatra-content-for-0.2.gemspec"
|
||||
@bundled_specs["haml"] = eval(File.read("#{dir}/specifications/haml-2.2.14.gemspec"))
|
||||
@bundled_specs["haml"].loaded_from = "#{dir}/specifications/haml-2.2.14.gemspec"
|
||||
@bundled_specs["compass"] = eval(File.read("#{dir}/specifications/compass-0.10.0.pre1.gemspec"))
|
||||
@bundled_specs["compass"].loaded_from = "#{dir}/specifications/compass-0.10.0.pre1.gemspec"
|
||||
@bundled_specs["compass-slickmap"] = eval(File.read("#{dir}/specifications/compass-slickmap-0.2.1.gemspec"))
|
||||
@bundled_specs["compass-slickmap"].loaded_from = "#{dir}/specifications/compass-slickmap-0.2.1.gemspec"
|
||||
|
||||
def self.add_specs_to_loaded_specs
|
||||
Gem.loaded_specs.merge! @bundled_specs
|
||||
end
|
||||
|
||||
def self.add_specs_to_index
|
||||
@bundled_specs.each do |name, spec|
|
||||
Gem.source_index.add_spec spec
|
||||
end
|
||||
end
|
||||
|
||||
add_specs_to_loaded_specs
|
||||
add_specs_to_index
|
||||
|
||||
def self.require_env(env = nil)
|
||||
context = Class.new do
|
||||
|
@ -109,36 +167,11 @@ module Bundler
|
|||
end
|
||||
end
|
||||
|
||||
$" << "rubygems.rb"
|
||||
module Gem
|
||||
@loaded_stacks = Hash.new { |h,k| h[k] = [] }
|
||||
|
||||
module Kernel
|
||||
def gem(*)
|
||||
# Silently ignore calls to gem, since, in theory, everything
|
||||
# is activated correctly already.
|
||||
def source_index.refresh!
|
||||
super
|
||||
Bundler.add_specs_to_index
|
||||
end
|
||||
end
|
||||
|
||||
# Define all the Gem errors for gems that reference them.
|
||||
module Gem
|
||||
def self.ruby ; "/Users/tdreyno/homebrew/Cellar/ruby/1.9.1-p243/bin/ruby" ; end
|
||||
class LoadError < ::LoadError; end
|
||||
class Exception < RuntimeError; end
|
||||
class CommandLineError < Exception; end
|
||||
class DependencyError < Exception; end
|
||||
class DependencyRemovalException < Exception; end
|
||||
class GemNotInHomeException < Exception ; end
|
||||
class DocumentError < Exception; end
|
||||
class EndOfYAMLException < Exception; end
|
||||
class FilePermissionError < Exception; end
|
||||
class FormatException < Exception; end
|
||||
class GemNotFoundException < Exception; end
|
||||
class InstallError < Exception; end
|
||||
class InvalidSpecificationException < Exception; end
|
||||
class OperationNotSupportedError < Exception; end
|
||||
class RemoteError < Exception; end
|
||||
class RemoteInstallationCancelled < Exception; end
|
||||
class RemoteInstallationSkipped < Exception; end
|
||||
class RemoteSourceException < Exception; end
|
||||
class VerificationError < Exception; end
|
||||
class SystemExitException < SystemExit; end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,171 @@
|
|||
COMPASS CHANGELOG
|
||||
=================
|
||||
|
||||
0.10.0.pre1 (November 29, 2009)
|
||||
--------------------------------
|
||||
|
||||
Deprecated in this release:
|
||||
|
||||
* The usless blueprint "modules" folder will be removed. Please update your
|
||||
blueprint imports by removing the modules folder. Deprecation warnings will be
|
||||
emitted if you use the old imports.
|
||||
* Blueprint mixins that used to accept a "body selector" argument, are now
|
||||
deprecated, instead you should pass `true` to them and mix them into
|
||||
the selector of your choice.
|
||||
* If you are using the `+opacity` or `+inline-block` mixins, you may need to update your imports.
|
||||
* In your configuration file, setting `http_images_path` to `:relative` is
|
||||
deprecated in favor of setting `relative_assets` to `true`
|
||||
* The YUI framework has been extracted to a plugin.
|
||||
If you use it, please follow the [installation instructions](http://github.com/chriseppstein/yui-compass-plugin)
|
||||
|
||||
Command-Line:
|
||||
|
||||
* The compass command-line tool has been re-written to allow be easier to
|
||||
use and be more flexible. The old command line is still supported at
|
||||
this time. "compass help" will get you started on using the new
|
||||
command line syntax.
|
||||
* Allow specification of a height for the grid image
|
||||
* For the truly hardcore compass users, you may now create a
|
||||
compass project using "compass create my_project --bare"
|
||||
and you'll have a completely bare project created for you with no
|
||||
sass files provided for you.
|
||||
* Get stats on your compass project with "compass stats". You'll
|
||||
need to install the "css_parser" ruby gem to get stats on your
|
||||
css files.
|
||||
|
||||
Configuration:
|
||||
|
||||
* The entire configuration infrastructure has been re-written to make it
|
||||
easier to support the various sources of configuration data (project type,
|
||||
config file, command line, and hard coded defaults)
|
||||
* Whether to generate relative links to assets is now controlled by a
|
||||
separate boolean configuration flag called `relative_assets` in the
|
||||
configuration file and `--relative-assets` on the command line.
|
||||
Setting `http_images_path` to `:relative` is deprecated.
|
||||
* You may now configure the http locations for your project by simply setting
|
||||
`http_path` for the top level path of the project. You
|
||||
may also set `http_images_dir`, `http_stylesheets_dir`, and
|
||||
`http_javascripts_dir` relative to the `http_path` instead of
|
||||
setting the absolute `http_XXX_path` counterparts.
|
||||
* You may now configure the fonts directory for your project (fonts_dir).
|
||||
By default, for standalone projects, it is the "fonts" subdirectory of
|
||||
your css directory. Rails projects will default to "public/fonts".
|
||||
|
||||
Compass Core:
|
||||
|
||||
* A new helper function `stylesheet_url(path)` can now be used to refer
|
||||
to assets that are relative to the css directory.
|
||||
* Compass sprite mixins are now more flexible and feature rich.
|
||||
* Fixed the append_selector function to allow comma-delimited selectors
|
||||
for both arguments instead of just the first
|
||||
* There is no longer any outline on unstyled links in the :active and :focused states.
|
||||
* IE6 bug fixes for sticky-footer
|
||||
* New CSS3 Compatibility Mixins. You can import them all with `@import compass/css3.sass`
|
||||
* `+opacity(amount)` where amount should be between 0 and 1, where 0 is transparent and 1 is opaque.
|
||||
* `+opaque` and `+transparent` mixins for convenience. Built on top of the opacity mixin.
|
||||
* `+border-radius(amount)` as well as the following convenience mixins:
|
||||
* `+border-top-left-radius(amount)`
|
||||
* `+border-top-right-radius(amount)`
|
||||
* `+border-top-right-radius(amount)`,
|
||||
* `+border-bottom-left-radius(amount)`
|
||||
* `+border-bottom-right-radius(amount)`
|
||||
* `+border-top-radius(amount)`
|
||||
* `+border-right-radius(amount)`
|
||||
* `+border-left-radius(amount)`
|
||||
* `+border-bottom-radius(amount)`
|
||||
* `+box-shadow(!horiz_offset, !vert_offset, !blur, !color)`
|
||||
* `+box-sizing(!sizing_mode)`
|
||||
* Column support via the following mixins:
|
||||
* `+column-count`
|
||||
* `+column-gap`
|
||||
* `+column-width`
|
||||
* `+column-rule-width`
|
||||
* `+column-rule-style`
|
||||
* `+column-rule-color`
|
||||
* `+column-rule`
|
||||
* `+background-clip(clip)` where clip can be `padding-box` or `border-box`
|
||||
* `+background-origin(origin)` where origin can be `padding-box`, `border-box`, or `content-box`
|
||||
* `+background-size(size)` where size is a width and height. E.g. "50% 75%"
|
||||
* `+font-face` should be mixed into the top level of your document.
|
||||
Usage Example: `+font-face("this name", font-files("this.woff", "woff", "this.otf", "opentype"), "fonts/this.eot", "thisname")`
|
||||
* Simple Background Gradient Support:
|
||||
* `+gradient` - Generic background gradient mixin
|
||||
* `+radial-gradient` - Radial gradient mixin
|
||||
* `+linear-gradient` - Linear gradient mixin
|
||||
* `+h-gradient` - Horizontal linear gradient mixin
|
||||
* `+v-gradient` - Vertical linear gradient mixin
|
||||
* `+text-shadow` - Create a text shadow effect.
|
||||
* Transforms Support:
|
||||
* `+transform`
|
||||
* `+scale`
|
||||
* `+rotate`
|
||||
* `+translate`
|
||||
* `+skew`
|
||||
* Transition Support:
|
||||
* `+transition-property`
|
||||
* `+transition-duration`
|
||||
* `+transition-timing-function`
|
||||
* `+transition-delay`
|
||||
* `+transition`
|
||||
* The import for `+inline-block` has moved from compass/utilities/general/inline_block
|
||||
to compass/css3/inline_block
|
||||
* The import for `+opacity` has moved from compass/utilities/general/opacity
|
||||
to compass/css3/opacity
|
||||
* Note: If you are using the `+opacity` or `+inline-block` mixins,
|
||||
you may need to update your imports.
|
||||
|
||||
Blueprint:
|
||||
|
||||
* Make the primary blueprint mixins easier to use by allowing them to be nested when passing true as the first argument.
|
||||
The old approach of passing a selector as the first argument is now deprecated in favor of a simple flag to indicate nesting or not.
|
||||
|
||||
YUI:
|
||||
|
||||
* YUI was upgraded to 2.7.0
|
||||
* Yahoo has deprecated the YUI CSS framework, as such YUI has been extracted to a plugin.
|
||||
If you use it, please install it with: `sudo gem install compass-yui`
|
||||
|
||||
Extensions:
|
||||
|
||||
* Extensions can now be installed locally by unpacking them into a project's
|
||||
"extensions" directory. Rails projects use "vendor/plugins/compass/extenstions".
|
||||
* Extensions can deliver html to projects if they like. The html can be in
|
||||
haml and will be transformed to html and can contain inline, compass-enabled
|
||||
sass.
|
||||
* All files can be processed using ERB before being copied into the user's
|
||||
project.
|
||||
* Compass extensions can now add support for other application frameworks.
|
||||
These extensions can help compass understand the project structure of that
|
||||
framework as well as provide runtime integration for ruby-based apps.
|
||||
Contact me if you plan to do this -- the first couple times may be a little
|
||||
rough.
|
||||
* Compass extensions can now add new command line commands. Contact me if you
|
||||
plan to do this -- the first couple times may be a little rough.
|
||||
* Extensions can now provide help documentation just after a project is
|
||||
created and on demand when the user uses the command line help system.
|
||||
This can be done via the manifest file or by adding a USAGE.markdown file
|
||||
at the top level of the framework template.
|
||||
|
||||
Miscellaneous:
|
||||
|
||||
* The compass configuration object is no longer a singleton, this makes it
|
||||
possible for other ruby software to manage multiple compass projects at a
|
||||
time.
|
||||
* Compass no longer requires rubygems in order to work, this is a ruby
|
||||
best-practice.
|
||||
* All sass provided by compass now uses css-style property syntax.
|
||||
* The command line tool is now tested using the cucumber testing framework.
|
||||
|
||||
Many thanks to the following Contributors:
|
||||
|
||||
* Brandon Mathis - CSS3 (+opacity, +border-radius) and sprites
|
||||
* Eric Meyer - CSS3 (+box-shadow, +columns, +box-sizing)
|
||||
* Jacques Crocker - Merb Compatibility fixes
|
||||
* Gabriel Mansour - Fixes to +unstyled-link
|
||||
* John Debs - IE6 Fixes for +sticky-footer
|
||||
* Brian Johnson - Upgraded to YUI 2.7.0
|
||||
* Beau Smith - fixing my dyslexia.
|
||||
|
||||
0.8.17 (September 24, 2009)
|
||||
---------------------------
|
||||
|
|
@ -3,8 +3,10 @@ A [Sass][sass]-based CSS Meta-Framework that allows you to mix and match any of
|
|||
|
||||
- [Compass Core][compass_core_website] - [Wiki Documentation][compass_core_wiki]
|
||||
- [Blueprint][blueprint_website] - [Wiki Documentation][bleuprint_wiki]
|
||||
- [YUI][yui_website] - [Wiki Documentation][yui_wiki]
|
||||
- [960][ninesixty_website] - [Wiki Documentation][ninesixty_wiki]
|
||||
- [Susy][susy_website] - [Wiki Documentation][susy_wiki]
|
||||
- [YUI][yui_website] - [Wiki Documentation][yui_wiki]
|
||||
- New frameworks and extensions are [tracked on the wiki][plugins_wiki] as they are created.
|
||||
- Other frameworks can be added relatively easily. Create your own!
|
||||
|
||||
## Compass Provides
|
||||
|
@ -13,6 +15,13 @@ A [Sass][sass]-based CSS Meta-Framework that allows you to mix and match any of
|
|||
2. Simple integration with [Ruby-on-Rails][ruby_on_rails_wiki], [Merb][merb_wiki], [StaticMatic][static_matic_wiki], and even [non-ruby application servers][command_line_wiki].
|
||||
3. Loads of Sass mixins to make building your website a snap.
|
||||
|
||||
## Quick Start
|
||||
|
||||
$ (sudo) gem install compass
|
||||
$ compass create my_compass_project --using blueprint
|
||||
$ cd my_compass_project
|
||||
$ compass watch
|
||||
|
||||
## More Information
|
||||
Please see the [wiki][wiki]
|
||||
|
||||
|
@ -25,13 +34,14 @@ Copyright (c) 2008-2009 Christopher M. Eppstein<br>
|
|||
All Rights Reserved.<br>
|
||||
Released under a [slightly modified MIT License][license].
|
||||
|
||||
[sass]: http://haml.hamptoncatlin.com/docs/rdoc/classes/Sass.html "Syntactically Awesome StyleSheets"
|
||||
[sass]: http://sass-lang.com/ "Syntactically Awesome StyleSheets"
|
||||
[compass_core_website]: http://github.com/chriseppstein/compass/tree/master/frameworks/compass
|
||||
[compass_core_wiki]: http://github.com/chriseppstein/compass/wikis/compass-core-documentation
|
||||
[blueprint_website]: http://blueprintcss.org/
|
||||
[bleuprint_wiki]: http://github.com/chriseppstein/compass/wikis/blueprint-documentation
|
||||
[yui_website]: http://developer.yahoo.com/yui/grids/
|
||||
[yui_wiki]: http://github.com/chriseppstein/compass/wikis/yui-documentation
|
||||
[plugins_wiki]: http://github.com/chriseppstein/compass/wikis/compass-plugins
|
||||
[ninesixty_website]: http://960.gs/
|
||||
[ninesixty_wiki]: http://github.com/chriseppstein/compass/wikis/960gs-documentation
|
||||
[command_line_wiki]: http://wiki.github.com/chriseppstein/compass/command-line-tool
|
||||
|
@ -39,6 +49,8 @@ Released under a [slightly modified MIT License][license].
|
|||
[ruby_on_rails_wiki]: http://wiki.github.com/chriseppstein/compass/ruby-on-rails-integration
|
||||
[merb_wiki]: http://wiki.github.com/chriseppstein/compass/merb-integration
|
||||
[static_matic_wiki]: http://wiki.github.com/chriseppstein/compass/staticmatic-integration
|
||||
[chris_eppstein]: http://acts-as-architect.blogspot.com
|
||||
[chris_eppstein]: http://chriseppstein.github.com
|
||||
[caring.com]: http://www.caring.com/ "Senior Care Resources"
|
||||
[license]: http://github.com/chriseppstein/compass/tree/master/LICENSE.markdown
|
||||
[susy_website]: http://www.oddbird.net/susy/
|
||||
[susy_wiki]: http://github.com/chriseppstein/compass/wikis/susy-documentation
|
|
@ -2,7 +2,8 @@ if ENV['RUN_CODE_RUN']
|
|||
# We need to checkout edge haml for the run>code>run test environment.
|
||||
if File.directory?("haml")
|
||||
Dir.chdir("haml") do
|
||||
sh "git", "pull"
|
||||
sh "git", "fetch"
|
||||
sh "git", "reset", "--hard", "origin/stable"
|
||||
end
|
||||
else
|
||||
sh "git", "clone", "git://github.com/nex3/haml.git"
|
||||
|
@ -12,7 +13,9 @@ end
|
|||
|
||||
require 'rubygems'
|
||||
require 'rake'
|
||||
require 'lib/compass'
|
||||
$:.unshift File.join(File.dirname(__FILE__), 'lib')
|
||||
require 'compass'
|
||||
require 'rcov/rcovtask'
|
||||
|
||||
# ----- Default: Testing ------
|
||||
|
||||
|
@ -23,6 +26,7 @@ require 'fileutils'
|
|||
|
||||
Rake::TestTask.new :run_tests do |t|
|
||||
t.libs << 'lib'
|
||||
t.libs << 'test'
|
||||
t.libs << 'haml/lib' if ENV["RUN_CODE_RUN"]
|
||||
test_files = FileList['test/**/*_test.rb']
|
||||
test_files.exclude('test/rails/*', 'test/haml/*')
|
||||
|
@ -45,7 +49,7 @@ begin
|
|||
gemspec.description = "Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS."
|
||||
gemspec.authors = ["Chris Eppstein"]
|
||||
gemspec.has_rdoc = false
|
||||
gemspec.add_dependency('haml', '>= 2.2.0')
|
||||
gemspec.add_dependency('haml', '>= 2.2.14')
|
||||
gemspec.files = []
|
||||
gemspec.files << "CHANGELOG.markdown"
|
||||
gemspec.files << "README.markdown"
|
||||
|
@ -58,12 +62,13 @@ begin
|
|||
gemspec.files += Dir.glob("examples/**/*.*")
|
||||
gemspec.files -= Dir.glob("examples/**/*.css")
|
||||
gemspec.files -= Dir.glob("examples/**/*.html")
|
||||
gemspec.files += Dir.glob("frameworks/**/*.*")
|
||||
gemspec.files -= Dir.glob("examples/*/extensions/**")
|
||||
gemspec.files += Dir.glob("lib/**/*")
|
||||
gemspec.files += Dir.glob("test/**/*.*")
|
||||
gemspec.files -= Dir.glob("test/fixtures/stylesheets/*/saved/**/*.*")
|
||||
gemspec.test_files = Dir.glob("test/**/*.*")
|
||||
gemspec.test_files -= Dir.glob("test/fixtures/stylesheets/*/saved/**/*.*")
|
||||
gemspec.test_files += Dir.glob("features/**/*.*")
|
||||
end
|
||||
rescue LoadError
|
||||
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
||||
|
@ -89,6 +94,8 @@ end
|
|||
|
||||
task :release => :commit_revision
|
||||
|
||||
task :gem => :build
|
||||
|
||||
desc "Compile Examples into HTML and CSS"
|
||||
task :examples do
|
||||
linked_haml = "tests/haml"
|
||||
|
@ -105,6 +112,10 @@ task :examples do
|
|||
next unless File.directory?(example)
|
||||
puts "\nCompiling #{example}"
|
||||
puts "=" * "Compiling #{example}".length
|
||||
Dir.chdir example do
|
||||
load "bootstrap.rb" if File.exists?("bootstrap.rb")
|
||||
Compass::Exec::SwitchUI.new(["--force"]).run!
|
||||
end
|
||||
# compile any haml templates to html
|
||||
FileList["#{example}/**/*.haml"].each do |haml_file|
|
||||
basename = haml_file[0..-6]
|
||||
|
@ -114,9 +125,6 @@ task :examples do
|
|||
output.write(engine.render)
|
||||
output.close
|
||||
end
|
||||
Dir.chdir example do
|
||||
Compass::Exec::Compass.new(["--force"]).run!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -125,3 +133,34 @@ namespace :git do
|
|||
sh "git", "clean", "-fdx"
|
||||
end
|
||||
end
|
||||
|
||||
require 'cucumber/rake/task'
|
||||
|
||||
namespace :rcov do
|
||||
Cucumber::Rake::Task.new(:cucumber) do |t|
|
||||
t.rcov = true
|
||||
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/ --aggregate coverage.data}
|
||||
t.rcov_opts << %[-o "coverage"]
|
||||
end
|
||||
|
||||
Rcov::RcovTask.new(:units) do |rcov|
|
||||
rcov.libs << 'lib'
|
||||
rcov.libs << 'haml/lib' if ENV["RUN_CODE_RUN"]
|
||||
test_files = FileList['test/**/*_test.rb']
|
||||
test_files.exclude('test/rails/*', 'test/haml/*')
|
||||
rcov.pattern = test_files
|
||||
rcov.output_dir = 'coverage'
|
||||
rcov.verbose = true
|
||||
rcov.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/ --aggregate coverage.data}
|
||||
rcov.rcov_opts << %[-o "coverage" --sort coverage]
|
||||
end
|
||||
|
||||
|
||||
desc "Run both specs and features to generate aggregated coverage"
|
||||
task :all do |t|
|
||||
rm "coverage.data" if File.exist?("coverage.data")
|
||||
Rake::Task["rcov:units"].invoke
|
||||
Rake::Task["rcov:cucumber"].invoke
|
||||
end
|
||||
end
|
||||
|
5
lib/middleman/vendor/gems/gems/compass-0.10.0.pre1/VERSION.yml
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
:patch: 0
|
||||
:major: 0
|
||||
:minor: 10
|
||||
:build: pre1
|
26
lib/middleman/vendor/gems/gems/compass-0.10.0.pre1/bin/compass
vendored
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env ruby
|
||||
# The compass command line utility
|
||||
|
||||
# This allows compass to run easily from a git checkout without install.
|
||||
def fallback_load_path(path)
|
||||
retried = false
|
||||
begin
|
||||
yield
|
||||
rescue LoadError
|
||||
unless retried
|
||||
$: << path
|
||||
retried = true
|
||||
retry
|
||||
end
|
||||
raise
|
||||
end
|
||||
end
|
||||
|
||||
fallback_load_path(File.join(File.dirname(__FILE__), '..', 'lib')) do
|
||||
require 'compass'
|
||||
require 'compass/exec'
|
||||
end
|
||||
|
||||
|
||||
command_line_class = Compass::Exec::Helpers.select_appropriate_command_line_ui(ARGV)
|
||||
exit command_line_class.new(ARGV).run!
|
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
|
@ -32,7 +32,7 @@
|
|||
%a{ :href => "parts/grid.html" }
|
||||
Grid
|
||||
%td
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass" }
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/_grid.sass" }
|
||||
grid.sass
|
||||
%td
|
||||
Tests classes provided by the grid module.
|
||||
|
@ -41,7 +41,7 @@
|
|||
%a{ :href => "parts/elements.html" }
|
||||
Typography
|
||||
%td
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass" }
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/_typography.sass" }
|
||||
typography.sass
|
||||
%td
|
||||
Tests HTML elements which gets set in the typography module.
|
||||
|
@ -50,7 +50,7 @@
|
|||
%a{ :href => "parts/forms.html" }
|
||||
Forms
|
||||
%td
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/modules/_form.sass" }
|
||||
%a{ :href => "../../frameworks/blueprint/stylesheets/blueprint/_form.sass" }
|
||||
form.sass
|
||||
%td
|
||||
Tests classes and default look provided by the form module.
|
|
@ -184,6 +184,8 @@
|
|||
%input#q.text{ :type => "text", :name => "q", :value => "Field with class .text" }
|
||||
.span-2.last
|
||||
%input.button{ :type => "submit", :value => "submit" }
|
||||
/ WTF This doesn't render correctly without some space.
|
||||
|
||||
%hr
|
||||
%p
|
||||
%a{ :href => "http://validator.w3.org/check?uri=referer" }
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
|
@ -1,5 +1,5 @@
|
|||
@import blueprint.sass
|
||||
@import blueprint/modules/scaffolding.sass
|
||||
@import blueprint/scaffolding.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
+blueprint
|
Before Width: | Height: | Size: 655 B After Width: | Height: | Size: 655 B |
Before Width: | Height: | Size: 455 B After Width: | Height: | Size: 455 B |
Before Width: | Height: | Size: 537 B After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
Before Width: | Height: | Size: 777 B After Width: | Height: | Size: 777 B |
Before Width: | Height: | Size: 641 B After Width: | Height: | Size: 641 B |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 691 B After Width: | Height: | Size: 691 B |
Before Width: | Height: | Size: 741 B After Width: | Height: | Size: 741 B |
Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -31,13 +31,13 @@
|
|||
%a{ :href => "plugins/fancy_type.html" }
|
||||
Fancy Type
|
||||
%td
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_grid.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_grid.sass" }
|
||||
grid.sass
|
||||
,
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_typography.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_typography.sass" }
|
||||
typography.sass
|
||||
,
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_fancy_type.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_fancy_type.sass" }
|
||||
fancy_type.sass
|
||||
%td
|
||||
A simple sample page, with common elements and fancy type.
|
||||
|
@ -46,7 +46,7 @@
|
|||
%a{ :href => "plugins/buttons.html" }
|
||||
Buttons
|
||||
%td
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_buttons.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_buttons.sass" }
|
||||
buttons.sass
|
||||
%td
|
||||
A simple page, showing links and buttons styled using the button plugin.
|
||||
|
@ -55,7 +55,7 @@
|
|||
%a{ :href => "plugins/link_icons.html" }
|
||||
Link Icons
|
||||
%td
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_link_icons.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_link_icons.sass" }
|
||||
link_icons.sass
|
||||
%td
|
||||
A simple page, showing links icons.
|
||||
|
@ -64,7 +64,7 @@
|
|||
%a{ :href => "plugins/rtl.html" }
|
||||
RTL
|
||||
%td
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/modules/_rtl.sass" }
|
||||
%a{ :href => "http://github.com/chriseppstein/compass/blob/master/frameworks/blueprint/stylesheets/blueprint/_rtl.sass" }
|
||||
rtl.sass
|
||||
%td
|
||||
A simple page, showing a right-to-left grid layout.
|
|
@ -1,5 +1,5 @@
|
|||
@import compass/utilities/general/float.sass
|
||||
@import blueprint/modules/buttons.sass
|
||||
@import blueprint/buttons.sass
|
||||
|
||||
//
|
||||
Use the following HTML code to place the buttons on your site:
|
||||
|
@ -23,7 +23,7 @@ a.button
|
|||
+anchor-button("left")
|
||||
// All the button color mixins take 4 optional arguments:
|
||||
// font color, background color, border color, border highlight color
|
||||
// the first three default to constants set in blueprint/modules/buttons.sass
|
||||
// the first three default to constants set in blueprint/buttons.sass
|
||||
// the last one defaults to a shade lighter than the border color.
|
||||
+button-colors
|
||||
+button-hover-colors
|
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
|
@ -1,4 +1,4 @@
|
|||
@import blueprint/modules/link_icons.sass
|
||||
@import blueprint/link_icons.sass
|
||||
|
||||
// This turns link icons on for all links. You can change the scoping selector from
|
||||
// body to something more specific if you prefer.
|
|
@ -1,7 +1,7 @@
|
|||
@import blueprint.sass
|
||||
@import blueprint/modules/fancy_type.sass
|
||||
@import blueprint/modules/scaffolding.sass
|
||||
@import blueprint/modules/rtl.sass
|
||||
@import blueprint/fancy_type.sass
|
||||
@import blueprint/scaffolding.sass
|
||||
@import blueprint/rtl.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
@import blueprint.sass
|
||||
@import blueprint/modules/fancy_type.sass
|
||||
@import blueprint/modules/scaffolding.sass
|
||||
@import blueprint/fancy_type.sass
|
||||
@import blueprint/scaffolding.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
|
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |
4
lib/middleman/vendor/gems/gems/compass-0.10.0.pre1/examples/blueprint_scoped/src/ie.sass
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
@import blueprint.sass
|
||||
|
||||
body.bp
|
||||
+blueprint-ie(true)
|
4
lib/middleman/vendor/gems/gems/compass-0.10.0.pre1/examples/blueprint_scoped/src/print.sass
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
@import blueprint.sass
|
||||
|
||||
body.bp
|
||||
+blueprint-print(true)
|
|
@ -1,4 +1,5 @@
|
|||
@import blueprint.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
+blueprint("body.bp")
|
||||
body.bp
|
||||
+blueprint(true)
|
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
|
@ -37,7 +37,7 @@
|
|||
%hr.space
|
||||
#main
|
||||
%p
|
||||
%img#test{ :src => "test.jpg", :alt => "test" }
|
||||
%img#test.left{ :src => "test.jpg", :alt => "test" }
|
||||
Lorem ipsum dolor sit amet,
|
||||
%em
|
||||
consectetuer adipiscing elit
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 206 B After Width: | Height: | Size: 206 B |
|
@ -1,15 +1,14 @@
|
|||
@import blueprint.sass
|
||||
@import blueprint/modules/fancy_type.sass
|
||||
@import blueprint/modules/scaffolding.sass
|
||||
@import blueprint/modules/liquid.sass
|
||||
@import blueprint/fancy_type.sass
|
||||
@import blueprint/scaffolding.sass
|
||||
@import blueprint/liquid.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
.container
|
||||
+container
|
||||
|
||||
+blueprint-typography("body.blueprint")
|
||||
|
||||
body.blueprint
|
||||
+blueprint-typography(true)
|
||||
+blueprint-scaffolding-body
|
||||
hr
|
||||
+colruler
|
|
@ -1,11 +1,10 @@
|
|||
@import blueprint.sass
|
||||
@import blueprint/modules/fancy_type.sass
|
||||
@import blueprint/modules/scaffolding.sass
|
||||
@import blueprint/fancy_type.sass
|
||||
@import blueprint/scaffolding.sass
|
||||
@import compass/reset.sass
|
||||
|
||||
+blueprint-typography("body.blueprint")
|
||||
|
||||
body.blueprint
|
||||
+blueprint-typography(true)
|
||||
+blueprint-scaffolding-body
|
||||
.container
|
||||
+container
|
3
lib/middleman/vendor/gems/gems/compass-0.10.0.pre1/examples/compass/bootstrap.rb
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
require File.join(File.dirname(__FILE__), '..', 'downloader')
|
||||
|
||||
install_from_github('chriseppstein', 'yui-compass-plugin', 'yui')
|
|
@ -0,0 +1,70 @@
|
|||
=yui-base
|
||||
body
|
||||
:margin 10px
|
||||
|
||||
h1
|
||||
:font-size 138.5%
|
||||
|
||||
h2
|
||||
:font-size 123.1%
|
||||
|
||||
h3
|
||||
:font-size 108%
|
||||
|
||||
h1, h2, h3
|
||||
:margin 1em 0
|
||||
|
||||
h1,h2, h3, h4, h5, h6, strong, dt
|
||||
:font-weight bold
|
||||
|
||||
optgroup
|
||||
:font-weight normal
|
||||
|
||||
abbr, acronym
|
||||
:border-bottom 1px dotted #000
|
||||
:cursor help
|
||||
|
||||
em
|
||||
:font-style italic
|
||||
|
||||
del
|
||||
:text-decoration line-through
|
||||
|
||||
blockquote, ul, ol, dl
|
||||
:margin 1em
|
||||
|
||||
ol,ul,dl
|
||||
:margin-left 2em
|
||||
|
||||
ol li
|
||||
:list-style decimal outside
|
||||
|
||||
ul li
|
||||
:list-style disc outside
|
||||
|
||||
dl dd
|
||||
:margin-left 1em
|
||||
|
||||
th, td
|
||||
:border 1px solid #000
|
||||
:padding .5em
|
||||
|
||||
th
|
||||
:font-weight bold
|
||||
:text-align center
|
||||
|
||||
caption
|
||||
:margin-bottom .5em
|
||||
:text-align center
|
||||
|
||||
sup
|
||||
:vertical-align super
|
||||
|
||||
sub
|
||||
:vertical-align sub
|
||||
|
||||
p, fieldset, table, pre
|
||||
:margin-bottom 1em
|
||||
|
||||
button, input[type="checkbox"], input[type="radio"], input[type="reset"], input[type="submit"]
|
||||
padding: 1px
|
|
@ -28,6 +28,13 @@
|
|||
:*font-size small
|
||||
:*font x-small
|
||||
|
||||
select,
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
button
|
||||
:font 99% arial,helvetica,clean,sans-serif
|
||||
|
||||
table
|
||||
:font-size inherit
|
||||
:font 100%
|