Start getting middleman-more tests passing. About 50% done

This commit is contained in:
Thomas Reynolds 2011-12-29 19:04:39 -08:00
parent c8a134a386
commit 73913f0ace
97 changed files with 267 additions and 161 deletions

View file

@ -3,3 +3,7 @@ rvm:
- 1.9.2
- 1.9.3
script: "bundle exec rake test"
branches:
only:
- master

10
Gemfile
View file

@ -7,10 +7,18 @@ group :development do
gem "rspec", "~> 2.7"
gem "rdoc", "~> 3.9"
gem "yard"
end
group :test do
# For actual tests
gem "sinatra"
gem "slim"
gem "coffee-filter", "~> 0.1.1"
gem "liquid", "~> 2.2"
gem "jquery-rails"
gem "bootstrap-rails", "0.0.5"
end
gem "middleman-core", :path => "middleman-core"
# gem "middleman-more", :path => "middleman-more"
gem "middleman-more", :path => "middleman-more"
gem "middleman", :path => "middleman"

View file

@ -1,7 +1,25 @@
ROOT = File.expand_path(File.dirname(__FILE__))
require 'rubygems' unless defined?(Gem)
# require 'fileutils' unless defined?(FileUtils)
require 'rake'
require 'yard'
# require File.expand_path("../middleman-core/lib/middleman-core/version.rb", __FILE__)
ROOT = File.expand_path(File.dirname(__FILE__))
GEM_NAME = 'middleman'
middleman_gems = %w(middleman-core middleman-more)
desc "Run tests for all middleman gems"
task :test do
["middleman-core"].each do |g|
middleman_gems.each do |g|
sh "cd #{File.join(ROOT, g)} && bundle exec rake test"
end
end
desc "Run tests for all middleman gems"
task :default => :test
desc "Generate documentation"
task :doc do
YARD::CLI::Yardoc.new.run
end

View file

@ -5,19 +5,17 @@ require 'bundler/gem_tasks'
require 'yard'
# Skip the releasing tag
# class Bundler::GemHelper
# def release_gem
# guard_clean
# guard_already_tagged
# built_gem_path = build_gem
# rubygem_push(built_gem_path)
# end
# end
class Bundler::GemHelper
def release_gem
guard_clean
guard_already_tagged
built_gem_path = build_gem
rubygem_push(built_gem_path)
end
end
Cucumber::Rake::Task.new(:test, 'Run features that should pass') do |t|
t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
end
YARD::Rake::YardocTask.new
task :default => :test

View file

@ -36,6 +36,14 @@ ARGV << "server" if ARGV.length < 1
# Require Middleman
require 'middleman-core'
begin
# Rubygems
require "middleman-more"
rescue LoadError
# Local
require File.expand_path(File.join(File.dirname(File.dirname(libdir)), "middleman-more", "lib", "middleman-more"))
end
# Change directory to the root
Dir.chdir(ENV["MM_ROOT"] || Dir.pwd) do

View file

@ -0,0 +1,12 @@
Feature: Alternate between multiple asset hosts
In order to speed up page loading
# Scenario: Rendering css with the feature enabled
# Given the Server is running at "asset-host-app"
# When I go to "/stylesheets/asset_host.css"
# Then I should see "http://assets"
Scenario: Rendering html with the feature enabled
Given the Server is running at "asset-host-app"
When I go to "/asset_host.html"
Then I should see "http://assets"

View file

@ -3,14 +3,14 @@ Feature: Automatically detect and insert image dimensions into tags
Scenario: Rendering an image with the feature disabled
Given "automatic_image_sizes" feature is "disabled"
And the Server is running at "test-app"
And the Server is running at "automatic-image-size-app"
When I go to "/auto-image-sizes.html"
Then I should not see "width="
And I should not see "height="
Scenario: Rendering an image with the feature enabled
Given "automatic_image_sizes" feature is "enabled"
And the Server is running at "test-app"
And the Server is running at "automatic-image-size-app"
When I go to "/auto-image-sizes.html"
Then I should see "width="
And I should see "height="

View file

@ -0,0 +1 @@
<%= image_tag "blank.gif" %>

View file

Before

Width:  |  Height:  |  Size: 43 B

After

Width:  |  Height:  |  Size: 43 B

View file

@ -0,0 +1 @@
<%= image_tag "blank.gif" %>

View file

@ -20,8 +20,8 @@ require "middleman-core/vendor/hooks-0.2.0/lib/hooks"
# Top-level Middleman object
module Middleman
WINDOWS = !!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i)
JRUBY = !!(RbConfig::CONFIG["RUBY_INSTALL_NAME"] =~ /^jruby/i)
WINDOWS = !!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i) unless const_defined?(:WINDOWS)
JRUBY = !!(RbConfig::CONFIG["RUBY_INSTALL_NAME"] =~ /^jruby/i) unless const_defined?(:JRUBY)
# Auto-load modules on-demand
autoload :Base, "middleman-core/base"
@ -85,14 +85,24 @@ module Middleman
module Extensions
# Provide Apache-style index.html files for directories
autoload :DirectoryIndexes, "middleman-core/extensions/directory_indexes"
autoload :DirectoryIndexes, "middleman-core/extensions/directory_indexes"
# Lorem provides a handful of helpful prototyping methods to generate
# words, paragraphs, fake images, names and email addresses.
autoload :Lorem, "middleman-core/extensions/lorem"
autoload :Lorem, "middleman-core/extensions/lorem"
# AutomaticImageSizes inspects the images used in your dynamic templates
# and automatically adds width and height attributes to their HTML
# elements.
autoload :AutomaticImageSizes, "middleman-core/extensions/automatic_image_sizes"
# AssetHost allows you to setup multiple domains to host your static
# assets. Calls to asset paths in dynamic templates will then rotate
# through each of the asset servers to better spread the load.
autoload :AssetHost, "middleman-core/extensions/asset_host"
end
module Extensions
module Extensions
class << self
def registered
@_registered ||= {}
@ -117,7 +127,7 @@ module Middleman
end
registered[name.to_sym] = if !passed_version_check
"== #{name} failed version check. Requested #{version}, got #{Middleman::Core::VERSION}"
"== #{name} failed version check. Requested #{version}, got #{Middleman::VERSION}"
elsif block_given?
block
elsif namespace
@ -141,7 +151,7 @@ module Middleman
end
# Where to look in gems for extensions to auto-register
EXTENSION_FILE = File.join("lib", "middleman_extension.rb")
EXTENSION_FILE = File.join("lib", "middleman_extension.rb") unless const_defined?(:EXTENSION_FILE)
class << self
@ -175,7 +185,7 @@ module Middleman
extensions = rubygems_latest_specs.select do |spec|
spec_has_file?(spec, EXTENSION_FILE)
end
extensions.each do |spec|
require spec.name
end
@ -222,11 +232,15 @@ module Middleman
# @param [Hash] options to pass to Rack::Server.new
# @return [Rack::Server]
def start_server(options={})
require "webrick"
opts = {
:Port => options[:port] || 4567,
:Host => options[:host] || "0.0.0.0",
:AccessLog => []
}
opts[:Logger] = WEBrick::Log::new("/dev/null", 7) if !options[:logging]
app_class = options[:app] ||= ::Middleman.server.inst
opts[:app] = app_class
@ -235,6 +249,7 @@ module Middleman
# require "thin"
# ::Thin::Logging.silent = !options[:logging]
# opts[:server] = 'thin'
opts[:server] = 'webrick'
server = ::Rack::Server.new(opts)
server.start

View file

@ -198,7 +198,7 @@ class Middleman::Base
# Automatically loaded extensions
# @return [Array<Symbol>]
set :default_extensions, [:lorem]
set :default_extensions, [ :lorem ]
# Default layout name
# @return [String, Symbold]
@ -242,6 +242,10 @@ class Middleman::Base
Middleman::Extensions::DirectoryIndexes }
Middleman::Extensions.register(:lorem) {
Middleman::Extensions::Lorem }
Middleman::Extensions.register(:automatic_image_sizes) {
Middleman::Extensions::AutomaticImageSizes }
Middleman::Extensions.register(:asset_host) {
Middleman::Extensions::AssetHost }
# Backwards-compatibility with old request.path signature
attr :request
@ -258,7 +262,7 @@ class Middleman::Base
# @return [void]
def current_path=(path)
@_current_path = path
@request = Thor::CoreExt::HashWithIndifferentAccess.new({ :path => path })
@request = ::Thor::CoreExt::HashWithIndifferentAccess.new({ :path => path })
end
# Initialize the Middleman project

View file

@ -11,7 +11,7 @@ module Middleman::Cli
desc "version", "Show version"
def version
require 'middleman-core/version'
say "Middleman #{Middleman::Core::VERSION}"
say "Middleman #{Middleman::VERSION}"
end
# Override the Thor help method to find help for subtasks

View file

@ -4,11 +4,11 @@ module Middleman::Extensions
def registered(app)
app.set :asset_host, false
app.compass_config do |config|
if asset_host.is_a?(Proc)
config.asset_host(&asset_host)
end
end
# app.compass_config do |config|
# if asset_host.is_a?(Proc)
# config.asset_host(&asset_host)
# end
# end
app.send :include, InstanceMethods
end

View file

@ -1,3 +1,3 @@
source :rubygems
gem "middleman", "~><%= Middleman::Core::VERSION %>"
gem "middleman", "~><%= Middleman::VERSION %>"

View file

@ -1,7 +1,13 @@
# Using for version parsing
require "rubygems"
module Middleman
module Core
# Current Version
# @return [String]
VERSION = "3.0.0.alpha.6"
end
# Current Version
# @return [String]
VERSION = "3.0.0.alpha.7" unless const_defined?(:VERSION)
# Parsed version for RubyGems
# @private
# @return [String]
GEM_VERSION = ::Gem::Version.create(VERSION) unless const_defined?(:GEM_VERSION)
end

View file

@ -4,7 +4,7 @@ require "middleman-core/version"
Gem::Specification.new do |s|
s.name = "middleman-core"
s.version = Middleman::Core::VERSION
s.version = Middleman::VERSION
s.platform = Gem::Platform::RUBY
s.license = "MIT"
s.authors = ["Thomas Reynolds"]
@ -18,11 +18,16 @@ Gem::Specification.new do |s|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]
# Thin
# s.add_dependency("thin", ["~> 1.3.1"])
# Core
s.add_dependency("rack", ["~> 1.3.5"])
s.add_dependency("rack-test", ["~> 0.6.1"])
s.add_dependency("tilt", ["~> 1.3.1"])
# Builder
s.add_dependency("rack-test", ["~> 0.6.1"])
# CLI
s.add_dependency("thor", ["~> 0.14.0"])

View file

@ -1,3 +0,0 @@
source :rubygems
gemspec :name => "middleman-more"

View file

@ -1,17 +1,5 @@
require 'bundler'
Bundler::GemHelper.install_tasks :name => ENV["NAME"] || "middleman"
# coding:utf-8
RAKE_ROOT = __FILE__
require 'cucumber/rake/task'
Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
t.cucumber_opts = "--color --tags ~@wip --strict --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'}"
end
require 'rake/clean'
task :test => ["cucumber"]
desc "Build HTML documentation"
task :doc do
sh 'bundle exec yard'
end
require 'rubygems'
require File.expand_path(File.dirname(__FILE__) + '/../gem_rake_helper')

View file

@ -4,9 +4,4 @@ Feature: Alternate between multiple asset hosts
Scenario: Rendering css with the feature enabled
Given the Server is running at "asset-host-app"
When I go to "/stylesheets/asset_host.css"
Then I should see "http://assets"
Scenario: Rendering html with the feature enabled
Given the Server is running at "asset-host-app"
When I go to "/asset_host.html"
Then I should see "http://assets"

View file

@ -3,24 +3,24 @@ Feature: Generate mtime-based query string for busting browser caches
Scenario: Rendering css with the feature disabled
Given "cache_buster" feature is "disabled"
And the Server is running at "test-app"
And the Server is running at "cache-buster-app"
When I go to "/stylesheets/relative_assets.css"
Then I should not see "?"
Scenario: Rendering html with the feature disabled
Given "cache_buster" feature is "disabled"
And the Server is running at "test-app"
And the Server is running at "cache-buster-app"
When I go to "/cache-buster.html"
Then I should not see "?"
Scenario: Rendering css with the feature enabled
Given "cache_buster" feature is "enabled"
And the Server is running at "test-app"
And the Server is running at "cache-buster-app"
When I go to "/stylesheets/relative_assets.css"
Then I should see "?"
Scenario: Rendering html with the feature enabled
Given "cache_buster" feature is "enabled"
And the Server is running at "test-app"
And the Server is running at "cache-buster-app"
When I go to "/cache-buster.html"
Then I should see "?"

View file

@ -2,16 +2,16 @@ Feature: Support coffee-script
In order to offer an alternative when writing Javascript
Scenario: Rendering coffee script
Given the Server is running at "test-app"
Given the Server is running at "coffeescript-app"
When I go to "/javascripts/coffee_test.js"
Then I should see "Array.prototype.slice"
Scenario: Rendering coffee-script with :coffeescript haml-filter
Given the Server is running at "test-app"
Given the Server is running at "coffeescript-app"
When I go to "/inline-coffeescript.html"
Then I should see "Array.prototype.slice"
Scenario: Rendering broken coffee
Given the Server is running at "test-app"
Given the Server is running at "coffeescript-app"
When I go to "/javascripts/broken-coffee.js"
Then I should see "Error"

View file

@ -1,9 +1,4 @@
Feature: Support content_for and yield_content helpers
Scenario: content_for works as expected in erb
Given the Server is running at "content-for-app"
When I go to "/content_for_erb.html"
Then I should see "In Layout: I am the yielded content erb"
Scenario: content_for works as expected in haml
Given the Server is running at "content-for-app"

View file

@ -2,11 +2,11 @@ Feature: Support SCSS Syntax
In order to offer an alternative when writing Sass
Scenario: Rendering scss
Given the Server is running at "test-app"
Given the Server is running at "scss-app"
When I go to "/stylesheets/site_scss.css"
Then I should see "html"
Scenario: Rendering scss
Given the Server is running at "test-app"
Given the Server is running at "scss-app"
When I go to "/stylesheets/layout.css"
Then I should see "html"

View file

@ -2,6 +2,6 @@ Feature: Support slim templating language
In order to offer an alternative to Haml
Scenario: Rendering Slim
Given the Server is running at "test-app"
Given the Server is running at "slim-app"
When I go to "/slim.html"
Then I should see "<h1>Welcome to Slim</h1>"

View file

@ -1,7 +1,7 @@
Feature: Sprockets
Scenario: Sprockets JS require
Given the Server is running at "test-app"
Given the Server is running at "sprockets-app2"
When I go to "/javascripts/sprockets_base.js"
Then I should see "sprockets_sub_function"
@ -16,23 +16,23 @@ Feature: Sprockets
Then I should see "helloWorld"
Scenario: Sprockets JS should have access to yaml data
Given the Server is running at "test-app"
Given the Server is running at "sprockets-app2"
When I go to "/javascripts/multiple_engines.js"
Then I should see "Hello One"
Scenario: Multiple engine files should build correctly
Given a successfully built app at "test-app"
Given a successfully built app at "sprockets-app2"
When I cd to "build"
Then a file named "javascripts/multiple_engines.js" should exist
And the file "javascripts/multiple_engines.js" should contain "Hello One"
Scenario: Sprockets CSS require //require
Given the Server is running at "test-app"
Given the Server is running at "sprockets-app2"
When I go to "/stylesheets/sprockets_base1.css"
Then I should see "hello"
Scenario: Sprockets CSS require @import
Given the Server is running at "test-app"
Given the Server is running at "sprockets-app2"
When I go to "/stylesheets/sprockets_base2.css"
Then I should see "hello"

View file

@ -0,0 +1,7 @@
PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
core_root = File.expand_path("../../../../middleman-core/lib/middleman-core", __FILE__)
require core_root
require File.join(core_root, "step_definitions")
require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-more')

View file

@ -1 +0,0 @@
= image_tag "blank.gif"

View file

@ -0,0 +1,2 @@
<%= stylesheet_link_tag "site.css" %>
<%= javascript_include_tag "empty-with-include.js" %>

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

View file

@ -0,0 +1 @@
@import "compass/reset"

View file

@ -0,0 +1 @@
require "coffee-filter"

View file

@ -0,0 +1,3 @@
:coffeescript
race = (winner, runners...) ->
print winner, runners

View file

@ -0,0 +1,3 @@
function test() {
hello
}

View file

@ -0,0 +1,3 @@
# Splats:
race = (winner, runners...) ->
print winner, runners

View file

@ -1,5 +1,6 @@
require "slim"
with_layout :content_for do
page "/content_for_erb.html"
# page "/content_for_haml.html"
# page "/content_for_slim.html"
page "/content_for_haml.html"
page "/content_for_slim.html"
end

View file

@ -1,5 +0,0 @@
<% content_for :from_template do %>
I am the yielded content erb
<% end %>
I am in the template

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

View file

@ -0,0 +1,2 @@
html
test: value

View file

@ -0,0 +1 @@
@import "compass/reset";

View file

@ -0,0 +1 @@
require "slim"

View file

@ -0,0 +1,7 @@
doctype 5
html lang='en'
head
meta charset="utf-8"
body
h1 Welcome to Slim

View file

@ -0,0 +1,4 @@
-
title: "One"
-
title: "Two"

View file

@ -0,0 +1,4 @@
[
{ "title": "One" },
{ "title": "Two" }
]

View file

@ -0,0 +1 @@
alert "Hello <%= data.test[0].title %>"

View file

@ -0,0 +1,5 @@
//= require "sprockets_sub"
function base() {
}

View file

@ -0,0 +1,3 @@
function sprockets_sub_function() {
}

View file

@ -0,0 +1 @@
//= require "sprockets_sub"

View file

@ -0,0 +1 @@
@import "sprockets_sub";

View file

@ -0,0 +1 @@
hello { world: "hi"; }

View file

@ -2,6 +2,8 @@
libdir = File.expand_path(File.dirname(__FILE__))
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
require "middleman-core"
# Top-level Middleman object
module Middleman
@ -11,15 +13,18 @@ module Middleman
autoload :Sass, "middleman-more/renderers/sass"
autoload :Markdown, "middleman-more/renderers/markdown"
autoload :Liquid, "middleman-more/renderers/liquid"
autoload :Slim, "middleman-more/renderers/slim"
end
module Extensions
module CoreExtensions
# Compass framework for Sass
autoload :Compass, "middleman-more/core_extensions/compass"
autoload :Compass, "middleman-more/core_extensions/compass"
# Sprockets 2
autoload :Sprockets, "middleman-more/core_extensions/sprockets"
autoload :Sprockets, "middleman-more/core_extensions/sprockets"
end
module Extensions
# RelativeAssets allow any asset path in dynamic templates to be either
# relative to the root of the project or use an absolute URL.
autoload :RelativeAssets, "middleman-more/extensions/relative_assets"
@ -44,4 +49,26 @@ module Middleman
# MinifyJavascript uses the YUI compressor to shrink JS files
autoload :MinifyJavascript, "middleman-more/extensions/minify_javascript"
end
require "coffee_script"
Base.register Middleman::Renderers::Haml
Base.register Middleman::Renderers::Sass
Base.register Middleman::Renderers::Markdown
Base.register Middleman::Renderers::Liquid
Base.register Middleman::Renderers::Slim
# Compass framework
Base.register Middleman::CoreExtensions::Compass
# Sprockets asset handling
Base.register Middleman::CoreExtensions::Sprockets
Extensions.register(:cache_buster) {
::Middleman::Extensions::CacheBuster }
Extensions.register(:minify_css) {
::Middleman::Extensions::MinifyCss }
Extensions.register(:minify_javascript) {
::Middleman::Extensions::MinifyJavascript }
Extensions.register(:relative_assets) {
::Middleman::Extensions::RelativeAssets }
end

View file

@ -0,0 +1,15 @@
module Middleman::Renderers::Slim
class << self
def registered(app)
# Slim is not included in the default gems,
# but we'll support it if available.
begin
require "slim"
Slim::Engine.set_default_options(:buffer => '@_out_buf', :generator => Temple::Generators::StringBuffer) if defined?(Slim)
rescue LoadError
end
end
alias :included :registered
end
end

View file

@ -1,39 +0,0 @@
require "coffee_script"
app.register Middleman::Renderers::Haml
app.register Middleman::Renderers::Sass
app.register Middleman::Renderers::Markdown
app.register Middleman::Renderers::Liquid
set :default_extensions, [
:lorem
]
# Compass framework
register Middleman::CoreExtensions::Compass
# Sprockets asset handling
register Middleman::CoreExtensions::Sprockets
# Activate built-in helpers
register Middleman::CoreExtensions::DefaultHelpers
Middleman::Extensions.register(:asset_host) {
Middleman::Extensions::AssetHost }
Middleman::Extensions.register(:automatic_image_sizes) {
Middleman::Extensions::AutomaticImageSizes }
Middleman::Extensions.register(:cache_buster) {
Middleman::Extensions::CacheBuster }
Middleman::Extensions.register(:lorem) {
Middleman::Extensions::Lorem }
Middleman::Extensions.register(:minify_css) {
Middleman::Extensions::MinifyCss }
Middleman::Extensions.register(:minify_javascript) {
Middleman::Extensions::MinifyJavascript }
Middleman::Extensions.register(:relative_assets) {
Middleman::Extensions::RelativeAssets }

View file

@ -1,7 +0,0 @@
module Middleman
module More
# Current Version
# @return [String]
VERSION = "3.0.0.alpha.6"
end
end

View file

@ -1,10 +1,10 @@
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require "middleman-more/version"
require File.expand_path("../../middleman-core/lib/middleman-core/version.rb", __FILE__)
Gem::Specification.new do |s|
s.name = "middleman-more"
s.version = Middleman::More::VERSION
s.version = Middleman::VERSION
s.platform = Gem::Platform::RUBY
s.license = "MIT"
s.authors = ["Thomas Reynolds"]
@ -18,30 +18,15 @@ Gem::Specification.new do |s|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]
s.add_dependency("middleman-core")
s.add_dependency("thin", ["~> 1.3.1"])
s.add_dependency("i18n", ["~> 0.6.0"])
s.add_dependency("middleman-core", Middleman::VERSION)
s.add_dependency("uglifier", ["~> 1.2.0"])
s.add_dependency("haml", ["~> 3.1.0"])
s.add_dependency("sass", ["~> 3.1.7"])
s.add_dependency("compass", ["~> 0.11.3"])
s.add_dependency("coffee-script", ["~> 2.2.0"])
s.add_dependency("execjs", ["~> 1.2.7"])
s.add_dependency("sprockets", ["~> 2.1.0"])
s.add_dependency("sprockets-sass", ["~> 0.6.0"])
s.add_dependency("redcarpet", ["~> 2.0.0"])
# Development and test
s.add_development_dependency("slim")
s.add_development_dependency("sinatra")
s.add_development_dependency("coffee-filter", ["~> 0.1.1"])
s.add_development_dependency("liquid", ["~> 2.2"])
s.add_development_dependency("cucumber", ["~> 1.1.0"])
s.add_development_dependency("aruba", ["~> 0.4.11"])
s.add_development_dependency("rake", ["~> 0.9.2"])
s.add_development_dependency("rspec", ["~> 2.7"])
s.add_development_dependency("rdoc", ["~> 3.9"])
s.add_development_dependency("yard")
s.add_development_dependency("jquery-rails")
s.add_development_dependency("bootstrap-rails", ["0.0.5"])
end

View file

@ -4,7 +4,7 @@ require "middleman-core/version"
Gem::Specification.new do |s|
s.name = "middleman"
s.version = Middleman::Core::VERSION
s.version = Middleman::VERSION
s.platform = "x86-mingw32"
s.license = "MIT"
s.authors = ["Thomas Reynolds"]

View file

@ -0,0 +1,24 @@
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require File.expand_path("../../middleman-core/lib/middleman-core/version.rb", __FILE__)
Gem::Specification.new do |s|
s.name = "middleman"
s.version = Middleman::VERSION
s.platform = Gem::Platform::RUBY
s.license = "MIT"
s.authors = ["Thomas Reynolds"]
s.email = ["me@tdreyno.com"]
s.homepage = "http://middlemanapp.com"
s.summary = "Hand-crafted frontend development"
s.description = "A static site generator based on Sinatra. Providing dozens of templating languages (Haml, Sass, Compass, Slim, CoffeeScript, and more). Makes minification, compression, cache busting, Yaml data (and more) an easy part of your development cycle."
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {fixtures,features}/*`.split("\n")
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
s.require_paths = ["lib"]
s.add_dependency("middleman-core", Middleman::VERSION)
s.add_dependency("middleman-more", Middleman::VERSION)
end