Start getting middleman-more tests passing. About 50% done
This commit is contained in:
parent
c8a134a386
commit
73913f0ace
97 changed files with 267 additions and 161 deletions
|
@ -3,3 +3,7 @@ rvm:
|
|||
- 1.9.2
|
||||
- 1.9.3
|
||||
script: "bundle exec rake test"
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
10
Gemfile
10
Gemfile
|
@ -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"
|
22
Rakefile
22
Rakefile
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
12
middleman-core/features/asset_host.feature
Normal file
12
middleman-core/features/asset_host.feature
Normal 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"
|
|
@ -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="
|
1
middleman-core/fixtures/asset-host-app/source/asset_host.html.erb
Executable file
1
middleman-core/fixtures/asset-host-app/source/asset_host.html.erb
Executable file
|
@ -0,0 +1 @@
|
|||
<%= image_tag "blank.gif" %>
|
Before Width: | Height: | Size: 43 B After Width: | Height: | Size: 43 B |
|
@ -0,0 +1 @@
|
|||
<%= image_tag "blank.gif" %>
|
Before Width: | Height: | Size: 43 B After Width: | Height: | Size: 43 B |
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -1,3 +1,3 @@
|
|||
source :rubygems
|
||||
|
||||
gem "middleman", "~><%= Middleman::Core::VERSION %>"
|
||||
gem "middleman", "~><%= Middleman::VERSION %>"
|
|
@ -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
|
|
@ -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"])
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
source :rubygems
|
||||
|
||||
gemspec :name => "middleman-more"
|
|
@ -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')
|
|
@ -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"
|
|
@ -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 "?"
|
|
@ -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"
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
|
@ -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>"
|
|
@ -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"
|
||||
|
||||
|
|
7
middleman-more/features/support/env.rb
Normal file
7
middleman-more/features/support/env.rb
Normal 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')
|
|
@ -1 +0,0 @@
|
|||
= image_tag "blank.gif"
|
2
middleman-more/fixtures/cache-buster-app/source/cache-buster.html.erb
Executable file
2
middleman-more/fixtures/cache-buster-app/source/cache-buster.html.erb
Executable file
|
@ -0,0 +1,2 @@
|
|||
<%= stylesheet_link_tag "site.css" %>
|
||||
<%= javascript_include_tag "empty-with-include.js" %>
|
BIN
middleman-more/fixtures/cache-buster-app/source/images/blank.gif
Executable file
BIN
middleman-more/fixtures/cache-buster-app/source/images/blank.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 43 B |
|
@ -0,0 +1 @@
|
|||
@import "compass/reset"
|
1
middleman-more/fixtures/coffeescript-app/config.rb
Normal file
1
middleman-more/fixtures/coffeescript-app/config.rb
Normal file
|
@ -0,0 +1 @@
|
|||
require "coffee-filter"
|
|
@ -0,0 +1,3 @@
|
|||
:coffeescript
|
||||
race = (winner, runners...) ->
|
||||
print winner, runners
|
|
@ -0,0 +1,3 @@
|
|||
function test() {
|
||||
hello
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
# Splats:
|
||||
race = (winner, runners...) ->
|
||||
print winner, runners
|
|
@ -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
|
|
@ -1,5 +0,0 @@
|
|||
<% content_for :from_template do %>
|
||||
I am the yielded content erb
|
||||
<% end %>
|
||||
|
||||
I am in the template
|
0
middleman-more/fixtures/fonts-app/config.rb
Normal file
0
middleman-more/fixtures/fonts-app/config.rb
Normal file
0
middleman-more/fixtures/relative-app/config.rb
Normal file
0
middleman-more/fixtures/relative-app/config.rb
Normal file
BIN
middleman-more/fixtures/relative-app/source/images/blank.gif
Executable file
BIN
middleman-more/fixtures/relative-app/source/images/blank.gif
Executable file
Binary file not shown.
After Width: | Height: | Size: 43 B |
0
middleman-more/fixtures/scss-app/config.rb
Normal file
0
middleman-more/fixtures/scss-app/config.rb
Normal file
|
@ -0,0 +1,2 @@
|
|||
html
|
||||
test: value
|
1
middleman-more/fixtures/scss-app/source/stylesheets/site_scss.css.scss
Executable file
1
middleman-more/fixtures/scss-app/source/stylesheets/site_scss.css.scss
Executable file
|
@ -0,0 +1 @@
|
|||
@import "compass/reset";
|
1
middleman-more/fixtures/slim-app/config.rb
Normal file
1
middleman-more/fixtures/slim-app/config.rb
Normal file
|
@ -0,0 +1 @@
|
|||
require "slim"
|
7
middleman-more/fixtures/slim-app/source/slim.html.slim
Normal file
7
middleman-more/fixtures/slim-app/source/slim.html.slim
Normal file
|
@ -0,0 +1,7 @@
|
|||
doctype 5
|
||||
html lang='en'
|
||||
head
|
||||
meta charset="utf-8"
|
||||
|
||||
body
|
||||
h1 Welcome to Slim
|
0
middleman-more/fixtures/sprockets-app2/config.rb
Normal file
0
middleman-more/fixtures/sprockets-app2/config.rb
Normal file
4
middleman-more/fixtures/sprockets-app2/data/test.yml
Normal file
4
middleman-more/fixtures/sprockets-app2/data/test.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
-
|
||||
title: "One"
|
||||
-
|
||||
title: "Two"
|
4
middleman-more/fixtures/sprockets-app2/data/test2.json
Normal file
4
middleman-more/fixtures/sprockets-app2/data/test2.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
[
|
||||
{ "title": "One" },
|
||||
{ "title": "Two" }
|
||||
]
|
|
@ -0,0 +1 @@
|
|||
alert "Hello <%= data.test[0].title %>"
|
|
@ -0,0 +1,5 @@
|
|||
//= require "sprockets_sub"
|
||||
|
||||
function base() {
|
||||
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
function sprockets_sub_function() {
|
||||
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
//= require "sprockets_sub"
|
|
@ -0,0 +1 @@
|
|||
@import "sprockets_sub";
|
|
@ -0,0 +1 @@
|
|||
hello { world: "hi"; }
|
|
@ -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
|
15
middleman-more/lib/middleman-more/renderers/slim.rb
Normal file
15
middleman-more/lib/middleman-more/renderers/slim.rb
Normal 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
|
|
@ -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 }
|
|
@ -1,7 +0,0 @@
|
|||
module Middleman
|
||||
module More
|
||||
# Current Version
|
||||
# @return [String]
|
||||
VERSION = "3.0.0.alpha.6"
|
||||
end
|
||||
end
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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"]
|
||||
|
|
24
middleman/middleman.gemspec
Normal file
24
middleman/middleman.gemspec
Normal 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
|
||||
|
Loading…
Reference in a new issue