middleman 0.9.7 → 0.9.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +18 -0
- data/VERSION +1 -1
- data/bin/mm-build +24 -0
- data/bin/mm-init +9 -7
- data/lib/middleman/base.rb +9 -8
- data/lib/middleman/builder.rb +1 -1
- data/lib/middleman/features/cache_buster.rb +7 -10
- data/lib/middleman/features/haml.rb +48 -46
- data/lib/middleman/features/minify_javascript.rb +9 -9
- data/lib/middleman/features/slickmap.rb +101 -8
- data/lib/middleman/features/smush_pngs.rb +58 -0
- data/lib/middleman/template/{init.rb → init.rbt} +4 -0
- data/middleman.gemspec +4 -3
- metadata +4 -3
data/Rakefile
CHANGED
@@ -47,15 +47,33 @@ task :spec => :check_dependencies
|
|
47
47
|
task :default => :spec
|
48
48
|
|
49
49
|
require 'rake/rdoctask'
|
50
|
+
require 'sdoc'
|
51
|
+
|
50
52
|
Rake::RDocTask.new do |rdoc|
|
51
53
|
if File.exist?('VERSION')
|
52
54
|
version = File.read('VERSION')
|
53
55
|
else
|
54
56
|
version = ""
|
55
57
|
end
|
58
|
+
|
59
|
+
# rdoc.template = 'direct'
|
56
60
|
|
57
61
|
rdoc.rdoc_dir = 'rdoc'
|
58
62
|
rdoc.title = "middleman #{version}"
|
59
63
|
rdoc.rdoc_files.include('README*')
|
60
64
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
65
|
+
rdoc.rdoc_files.exclude('lib/middleman/features/sprockets+ruby19.rb')
|
66
|
+
end
|
67
|
+
|
68
|
+
desc "Build and publish documentation using GitHub Pages."
|
69
|
+
task :pages do
|
70
|
+
if !`git status`.include?('nothing to commit')
|
71
|
+
abort "dirty index - not publishing!"
|
72
|
+
end
|
73
|
+
|
74
|
+
Rake::Task[:rerdoc].invoke
|
75
|
+
`git checkout gh-pages`
|
76
|
+
`ls -1 | grep -v rdoc | xargs rm -rf; mv rdoc/* .; rm -rf rdoc`
|
77
|
+
`git commit -a -m "update docs"; git push origin gh-pages`
|
78
|
+
`git checkout master`
|
61
79
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.8
|
data/bin/mm-build
CHANGED
@@ -48,16 +48,40 @@ module Generators
|
|
48
48
|
|
49
49
|
glob! File.basename(Middleman::Base.public), Middleman::Base.supported_formats
|
50
50
|
glob! File.basename(Middleman::Base.views), Middleman::Base.supported_formats
|
51
|
+
|
52
|
+
if Middleman::Base.slickmap?
|
53
|
+
template :slickmap, "sitemap.html", "sitemap.html"
|
54
|
+
end
|
51
55
|
end
|
52
56
|
|
53
57
|
add :build, Builder
|
54
58
|
end
|
55
59
|
|
56
60
|
# Monkey-patch to use a dynamic renderer
|
61
|
+
class Templater::Actions::File
|
62
|
+
def identical?
|
63
|
+
if exists?
|
64
|
+
return true if File.mtime(source) < File.mtime(destination)
|
65
|
+
::FileUtils.identical?(source, destination)
|
66
|
+
else
|
67
|
+
false
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
57
72
|
class Templater::Actions::Template
|
58
73
|
def render
|
59
74
|
::Middleman::Builder.render_file(source, destination)
|
60
75
|
end
|
76
|
+
|
77
|
+
def identical?
|
78
|
+
if ::File.exists?(destination)
|
79
|
+
return true if File.exists?(source) && File.mtime(source) < File.mtime(destination)
|
80
|
+
::File.read(destination) == render
|
81
|
+
else
|
82
|
+
false
|
83
|
+
end
|
84
|
+
end
|
61
85
|
end
|
62
86
|
|
63
87
|
Generators.run_cli(Dir.pwd, 'mm-build', 1, %w(build --force).concat(ARGV))
|
data/bin/mm-init
CHANGED
@@ -8,9 +8,10 @@ module Generators
|
|
8
8
|
class NewSite < Templater::Generator
|
9
9
|
desc "Creates a new staticmatic scaffold."
|
10
10
|
first_argument :location, :required => true, :desc => "Project location"
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
|
12
|
+
option :css_dir, :desc => 'The path to the css files'
|
13
|
+
option :js_dir, :desc => 'The path to the javascript files'
|
14
|
+
option :images_dir, :desc => 'The path to the image files'
|
14
15
|
|
15
16
|
def destination_root
|
16
17
|
File.expand_path(location)
|
@@ -20,12 +21,13 @@ module Generators
|
|
20
21
|
File.join(File.dirname(__FILE__), '..', 'lib', 'middleman', 'template')
|
21
22
|
end
|
22
23
|
|
23
|
-
|
24
|
+
template :init, "init.rb"
|
24
25
|
glob! :views
|
25
26
|
glob! :public
|
26
|
-
|
27
|
-
empty_directory :
|
28
|
-
empty_directory :
|
27
|
+
|
28
|
+
empty_directory :stylesheets, "public/stylesheets"#, File.join("public", css_dir)
|
29
|
+
empty_directory :javascripts, "public/javascripts"#, File.join("public", js_dir)
|
30
|
+
empty_directory :images, "public/images"#, File.join("public", images_dir)
|
29
31
|
end
|
30
32
|
|
31
33
|
add :setup, NewSite
|
data/lib/middleman/base.rb
CHANGED
@@ -4,19 +4,13 @@ require 'rubygems' unless ENV['NO_RUBYGEMS']
|
|
4
4
|
# We're riding on Sinatra, so let's include it
|
5
5
|
require 'sinatra/base'
|
6
6
|
|
7
|
-
# Rack helper for adding mime-types during local preview
|
8
|
-
def mime(ext, type)
|
9
|
-
ext = ".#{ext}" unless ext.to_s[0] == ?.
|
10
|
-
Rack::Mime::MIME_TYPES[ext.to_s] = type
|
11
|
-
end
|
12
|
-
|
13
7
|
module Middleman
|
14
8
|
class Base < Sinatra::Base
|
15
9
|
set :app_file, __FILE__
|
16
10
|
set :root, Dir.pwd
|
17
11
|
set :environment, ENV['MM_ENV'] || :development
|
18
|
-
set :supported_formats, []
|
19
|
-
set :index_file,
|
12
|
+
set :supported_formats, ["erb"]
|
13
|
+
set :index_file, "index.html"
|
20
14
|
set :js_dir, "javascripts"
|
21
15
|
set :css_dir, "stylesheets"
|
22
16
|
set :images_dir, "images"
|
@@ -36,6 +30,7 @@ module Middleman
|
|
36
30
|
disable :relative_assets
|
37
31
|
disable :markaby
|
38
32
|
disable :maruku
|
33
|
+
disable :smush_pngs
|
39
34
|
|
40
35
|
# Default build features
|
41
36
|
configure :build do
|
@@ -44,6 +39,12 @@ module Middleman
|
|
44
39
|
enable :cache_buster
|
45
40
|
end
|
46
41
|
|
42
|
+
# Rack helper for adding mime-types during local preview
|
43
|
+
def mime(ext, type)
|
44
|
+
ext = ".#{ext}" unless ext.to_s[0] == ?.
|
45
|
+
Rack::Mime::MIME_TYPES[ext.to_s] = type
|
46
|
+
end
|
47
|
+
|
47
48
|
# Convenience function to discover if a tempalte exists for the requested renderer (haml, sass, etc)
|
48
49
|
def template_exists?(path, renderer=nil)
|
49
50
|
template_path = path.dup
|
data/lib/middleman/builder.rb
CHANGED
@@ -5,7 +5,7 @@ require 'rack/test'
|
|
5
5
|
module Middleman
|
6
6
|
class Builder
|
7
7
|
# The default render just requests the page over Rack and writes the response
|
8
|
-
def self.render_file(source, destination)
|
8
|
+
def self.render_file(source, destination)
|
9
9
|
request_path = destination.gsub(File.join(Dir.pwd, Middleman::Base.build_dir), "")
|
10
10
|
browser = Rack::Test::Session.new(Rack::MockSession.new(Middleman::Base))
|
11
11
|
browser.get(request_path)
|
@@ -1,17 +1,14 @@
|
|
1
1
|
class Middleman::Base
|
2
|
+
alias_method :pre_cache_buster_asset_url, :asset_url
|
2
3
|
helpers do
|
3
|
-
alias_method :pre_cache_buster_asset_url, :asset_url
|
4
4
|
def asset_url(path, prefix="")
|
5
|
-
|
6
|
-
if
|
7
|
-
|
5
|
+
http_path = pre_cache_buster_asset_url(path, prefix)
|
6
|
+
if http_path.include?("://") || !%w(.css .png .jpg .js .gif).include?(File.extname(http_path))
|
7
|
+
http_path
|
8
8
|
else
|
9
|
-
real_path = File.join(options.public, path)
|
10
|
-
if File.readable?(real_path)
|
11
|
-
|
12
|
-
else
|
13
|
-
$stderr.puts "WARNING: '#{File.basename(path)}' was not found (or cannot be read) in #{File.dirname(real_path)}"
|
14
|
-
end
|
9
|
+
real_path = File.join(self.class.environment == "build" ? options.build_dir : options.public, prefix, path)
|
10
|
+
http_path << "?" + File.mtime(real_path).strftime("%s") if File.readable?(real_path)
|
11
|
+
http_path
|
15
12
|
end
|
16
13
|
end
|
17
14
|
end
|
@@ -2,62 +2,64 @@ require 'haml'
|
|
2
2
|
|
3
3
|
module Middleman
|
4
4
|
module Haml
|
5
|
-
|
6
|
-
base
|
7
|
-
|
8
|
-
|
5
|
+
module Renderer
|
6
|
+
def self.included(base)
|
7
|
+
base.supported_formats << "haml"
|
8
|
+
base.helpers Middleman::Haml::Helpers
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
def render_path(path)
|
12
|
+
if template_exists?(path, :haml)
|
13
|
+
result = nil
|
14
|
+
begin
|
15
|
+
result = haml(path.to_sym, :layout => File.extname(path) != ".xml")
|
16
|
+
rescue ::Haml::Error => e
|
17
|
+
result = "Haml Error: #{e}"
|
18
|
+
result << "<pre>Backtrace: #{e.backtrace.join("\n")}</pre>"
|
19
|
+
end
|
20
|
+
result
|
21
|
+
else
|
22
|
+
super
|
18
23
|
end
|
19
|
-
result
|
20
|
-
else
|
21
|
-
super
|
22
24
|
end
|
23
25
|
end
|
24
|
-
end
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
27
|
+
module Helpers
|
28
|
+
def haml_partial(name, options = {})
|
29
|
+
item_name = name.to_sym
|
30
|
+
counter_name = "#{name}_counter".to_sym
|
31
|
+
if collection = options.delete(:collection)
|
32
|
+
collection.enum_for(:each_with_index).collect do |item,index|
|
33
|
+
haml_partial name, options.merge(:locals => {item_name => item, counter_name => index+1})
|
34
|
+
end.join
|
35
|
+
elsif object = options.delete(:object)
|
36
|
+
haml_partial name, options.merge(:locals => {item_name => object, counter_name => nil})
|
37
|
+
else
|
38
|
+
haml "_#{name}".to_sym, options.merge(:layout => false)
|
39
|
+
end
|
38
40
|
end
|
39
41
|
end
|
40
|
-
end
|
41
42
|
|
42
|
-
|
43
|
-
|
43
|
+
module Table
|
44
|
+
include ::Haml::Filters::Base
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
46
|
+
def render(text)
|
47
|
+
output = '<div class="table"><table cellspacing="0" cellpadding="0">'
|
48
|
+
line_num = 0
|
49
|
+
text.each_line do |line|
|
50
|
+
line_num += 1
|
51
|
+
next if line.strip.empty?
|
52
|
+
output << %Q{<tr class="#{(line_num % 2 == 0) ? "even" : "odd" }#{(line_num == 1) ? " first" : "" }">}
|
52
53
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
54
|
+
columns = line.split("|").map { |p| p.strip }
|
55
|
+
columns.each_with_index do |col, i|
|
56
|
+
output << %Q{<td class="col#{i+1}">#{col}</td>}
|
57
|
+
end
|
57
58
|
|
58
|
-
|
59
|
+
output << "</tr>"
|
60
|
+
end
|
61
|
+
output + "</table></div>"
|
59
62
|
end
|
60
|
-
output + "</table></div>"
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
@@ -72,7 +74,7 @@ module Middleman
|
|
72
74
|
static_version = options.public + request.path_info
|
73
75
|
send_file(static_version) if File.exists? static_version
|
74
76
|
|
75
|
-
location_of_sass_file = options.environment == "build" ?
|
77
|
+
location_of_sass_file = options.environment == "build" ? File.join(options.build_dir, options.css_dir) : "public"
|
76
78
|
css_filename = File.join(Dir.pwd, location_of_sass_file) + request.path_info
|
77
79
|
sass(path.to_sym, Compass.sass_engine_options.merge({ :css_filename => css_filename }))
|
78
80
|
rescue Exception => e
|
@@ -125,6 +127,6 @@ END
|
|
125
127
|
end
|
126
128
|
|
127
129
|
class Middleman::Base
|
128
|
-
include Middleman::Haml
|
130
|
+
include Middleman::Haml::Renderer
|
129
131
|
include Middleman::Sass
|
130
132
|
end
|
@@ -12,20 +12,20 @@ module Middleman
|
|
12
12
|
END
|
13
13
|
end
|
14
14
|
end
|
15
|
-
end
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
module StaticJavascript
|
17
|
+
def render_path(path)
|
18
|
+
if template_exists?(path, :js)
|
19
|
+
compressor = YUI::JavaScriptCompressor.new(:munge => true)
|
20
|
+
compressor.compress(super)
|
21
|
+
else
|
22
|
+
super
|
23
|
+
end
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
28
|
class Base
|
29
|
-
include Middleman::
|
29
|
+
include Middleman::Minified::StaticJavascript
|
30
30
|
end
|
31
31
|
end
|
@@ -1,16 +1,83 @@
|
|
1
|
-
|
1
|
+
begin
|
2
|
+
require 'slickmap'
|
3
|
+
::Compass.configure_sass_plugin!
|
4
|
+
rescue LoadError
|
5
|
+
puts "Slickmap not available. Install it with: gem install compass-slickmap"
|
6
|
+
end
|
7
|
+
|
8
|
+
Entry = Struct.new(:dir, :children)
|
2
9
|
|
3
10
|
class Middleman::Base
|
4
11
|
def build_sitemap(&block)
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
12
|
+
html_files = Dir[File.join(File.dirname(Middleman::Base.views), "**", "*.html*")]
|
13
|
+
|
14
|
+
@@utility = []
|
15
|
+
[recurse_sitemap(Middleman::Base.views, &block), @@utility]
|
16
|
+
end
|
17
|
+
|
18
|
+
def recurse_sitemap(path, &block)
|
19
|
+
bad_ext = path.split('.html')[1]
|
20
|
+
path = path.gsub(bad_ext, '') if bad_ext
|
21
|
+
entry = Entry.new(path, [])
|
22
|
+
|
23
|
+
#no "." or ".." dirs
|
24
|
+
Dir[File.join(path, "*")].each do |e|
|
25
|
+
next if !File.directory?(e) && !e.include?(".html")
|
26
|
+
if File.directory?(e)
|
27
|
+
entry.children << recurse_sitemap(e, &block)
|
28
|
+
elsif block_given?
|
29
|
+
how_to_handle = block.call(e)
|
30
|
+
if how_to_handle == :valid
|
31
|
+
entry.children << recurse_sitemap(e, &block)
|
32
|
+
elsif how_to_handle == :utility
|
33
|
+
bad_ext = e.split('.html')[1]
|
34
|
+
e = e.gsub(bad_ext, '') if bad_ext
|
35
|
+
@@utility << e.gsub(Middleman::Base.views + "/", '')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
entry
|
41
|
+
end
|
42
|
+
|
43
|
+
helpers do
|
44
|
+
def sitemap_node(n, first=false)
|
45
|
+
if n.children.length < 1
|
46
|
+
if !first && File.extname(n.dir).length > 0
|
47
|
+
haml_tag :li do
|
48
|
+
path = n.dir.gsub(self.class.views, '')
|
49
|
+
haml_concat link_to(File.basename(path), path)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
else
|
53
|
+
haml_tag(:li, :id => first ? "home" : nil) do
|
54
|
+
if first
|
55
|
+
haml_concat link_to("Homepage", "/" + self.class.index_file)
|
56
|
+
else
|
57
|
+
# we are a dir
|
58
|
+
index = n.children.find { |c| c.dir.include?(self.class.index_file) }
|
59
|
+
haml_concat link_to(index.dir.gsub(self.class.views + "/", '').gsub("/" + File.basename(index.dir), '').capitalize, index.dir.gsub(self.class.views, ''))
|
60
|
+
end
|
61
|
+
|
62
|
+
other_children = n.children.select { |c| !c.dir.include?(self.class.index_file) }
|
63
|
+
if other_children.length > 0
|
64
|
+
if first
|
65
|
+
other_children.each { |i| sitemap_node(i) }
|
66
|
+
else
|
67
|
+
haml_tag :ul do
|
68
|
+
other_children.each { |i| sitemap_node(i) }
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
9
75
|
end
|
10
76
|
|
11
77
|
get '/sitemap.html' do
|
12
|
-
|
13
|
-
|
78
|
+
# Return :utility to put it util top menu. False to ignore
|
79
|
+
@tree, @utility = build_sitemap do |file_name|
|
80
|
+
:valid
|
14
81
|
end
|
15
82
|
haml :sitemap, :layout => false
|
16
83
|
end
|
@@ -21,4 +88,30 @@ end
|
|
21
88
|
__END__
|
22
89
|
|
23
90
|
@@ sitemap
|
24
|
-
|
91
|
+
!!!
|
92
|
+
%html{ :xmlns => "http://www.w3.org/1999/xhtml" }
|
93
|
+
%head
|
94
|
+
%meta{ :content => "text/html; charset=utf-8", "http-equiv" => "Content-type" }
|
95
|
+
%title Sitemap
|
96
|
+
%style{ :type => "text/css" }
|
97
|
+
:sass
|
98
|
+
@import slickmap.sass
|
99
|
+
+slickmap
|
100
|
+
:javascript
|
101
|
+
window.onload = function() {
|
102
|
+
document.getElementById('primaryNav').className = "col" + document.querySelectorAll("#primaryNav > li:not(#home)").length;
|
103
|
+
};
|
104
|
+
|
105
|
+
%body
|
106
|
+
.logo
|
107
|
+
%h1= @project_name || "Sitemap"
|
108
|
+
- if @project_subtitle
|
109
|
+
%h2= @project_subtitle
|
110
|
+
|
111
|
+
- if @utility.length > 0
|
112
|
+
%ul#utilityNav
|
113
|
+
- @utility.each do |u|
|
114
|
+
%li= link_to u, u
|
115
|
+
|
116
|
+
%ul#primaryNav
|
117
|
+
- sitemap_node(@tree, true)
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'httpclient'
|
6
|
+
rescue LoadError
|
7
|
+
puts "httpclient not available. Install it with: gem install httpclient"
|
8
|
+
end
|
9
|
+
|
10
|
+
module Middleman
|
11
|
+
module SmushPngs
|
12
|
+
def self.included(base)
|
13
|
+
base.supported_formats << "png"
|
14
|
+
end
|
15
|
+
|
16
|
+
def render_path(file)
|
17
|
+
if File.extname(file) == ".png"
|
18
|
+
file = File.join(options.public, file)
|
19
|
+
optimized = optimized_image_data_for(file)
|
20
|
+
|
21
|
+
begin
|
22
|
+
raise "Error: got larger" if size(file) < optimized.size
|
23
|
+
raise "Error: empty file downloaded" if optimized.size < 20
|
24
|
+
|
25
|
+
optimized
|
26
|
+
rescue
|
27
|
+
File.read(file)
|
28
|
+
end
|
29
|
+
else
|
30
|
+
super
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
protected
|
35
|
+
def size(file)
|
36
|
+
File.exist?(file) ? File.size(file) : 0
|
37
|
+
end
|
38
|
+
|
39
|
+
def optimized_image_data_for(file)
|
40
|
+
# I leave these urls here, just in case it stops working again...
|
41
|
+
# url = "http://smush.it/ws.php" # original, redirects to somewhere else..
|
42
|
+
url = 'http://ws1.adq.ac4.yahoo.com/ysmush.it/ws.php'
|
43
|
+
# url = "http://developer.yahoo.com/yslow/smushit/ws.php" # official but does not work
|
44
|
+
# url = "http://smushit.com/ysmush.it/ws.php" # used at the new page but does not hande uploads
|
45
|
+
# url = "http://smushit.eperf.vip.ac4.yahoo.com/ysmush.it/ws.php" # used at the new page but does not hande uploads
|
46
|
+
response = HTTPClient.post url, { 'files[]' => File.new(file) }
|
47
|
+
response = JSON.parse(response.body.content)
|
48
|
+
raise "smush.it: #{response['error']}" if response['error']
|
49
|
+
image_url = response['dest']
|
50
|
+
raise "no dest path found" unless image_url
|
51
|
+
open(image_url) { |source| source.read() }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
class Base
|
56
|
+
include Middleman::SmushPngs
|
57
|
+
end
|
58
|
+
end
|
data/middleman.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{middleman}
|
8
|
-
s.version = "0.9.
|
8
|
+
s.version = "0.9.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Thomas Reynolds"]
|
12
|
-
s.date = %q{2009-10-
|
12
|
+
s.date = %q{2009-10-06}
|
13
13
|
s.email = %q{tdreyno@gmail.com}
|
14
14
|
s.executables = ["mm-init", "mm-build", "mm-server"]
|
15
15
|
s.extra_rdoc_files = [
|
@@ -41,10 +41,11 @@ Gem::Specification.new do |s|
|
|
41
41
|
"lib/middleman/features/minify_javascript.rb",
|
42
42
|
"lib/middleman/features/relative_assets.rb",
|
43
43
|
"lib/middleman/features/slickmap.rb",
|
44
|
+
"lib/middleman/features/smush_pngs.rb",
|
44
45
|
"lib/middleman/features/sprockets+ruby19.rb",
|
45
46
|
"lib/middleman/features/sprockets.rb",
|
46
47
|
"lib/middleman/helpers.rb",
|
47
|
-
"lib/middleman/template/init.
|
48
|
+
"lib/middleman/template/init.rbt",
|
48
49
|
"lib/middleman/template/views/index.html.haml",
|
49
50
|
"lib/middleman/template/views/layout.html.haml",
|
50
51
|
"lib/middleman/template/views/stylesheets/site.css.sass",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Reynolds
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-06 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -128,10 +128,11 @@ files:
|
|
128
128
|
- lib/middleman/features/minify_javascript.rb
|
129
129
|
- lib/middleman/features/relative_assets.rb
|
130
130
|
- lib/middleman/features/slickmap.rb
|
131
|
+
- lib/middleman/features/smush_pngs.rb
|
131
132
|
- lib/middleman/features/sprockets+ruby19.rb
|
132
133
|
- lib/middleman/features/sprockets.rb
|
133
134
|
- lib/middleman/helpers.rb
|
134
|
-
- lib/middleman/template/init.
|
135
|
+
- lib/middleman/template/init.rbt
|
135
136
|
- lib/middleman/template/views/index.html.haml
|
136
137
|
- lib/middleman/template/views/layout.html.haml
|
137
138
|
- lib/middleman/template/views/stylesheets/site.css.sass
|