tdreyno-middleman 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document CHANGED
@@ -3,3 +3,4 @@ lib/**/*.rb
3
3
  bin/*
4
4
  features/**/*.feature
5
5
  LICENSE
6
+ vendor/**/*
data/Rakefile CHANGED
@@ -12,16 +12,19 @@ begin
12
12
  gem.rubyforge_project = "middleman"
13
13
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
14
  gem.executables = %w(mm-init mm-build mm-server)
15
- gem.files.include ['vendor/**/*']
16
15
  gem.add_dependency("templater")
16
+ gem.add_dependency("yui-compressor")
17
+ gem.add_dependency("sprockets")
17
18
  gem.add_dependency("sinatra")
18
19
  gem.add_dependency("markaby")
19
20
  gem.add_dependency("maruku")
20
21
  gem.add_dependency("haml", ">=2.1.0")
21
22
  gem.add_dependency("chriseppstein-compass")
22
23
  end
23
-
24
- Jeweler::RubyforgeTasks.new
24
+
25
+ Jeweler::RubyforgeTasks.new do |rubyforge|
26
+ rubyforge.doc_task = "rdoc"
27
+ end
25
28
  rescue LoadError
26
29
  puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
27
30
  end
@@ -38,14 +41,14 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
38
41
  spec.rcov = true
39
42
  end
40
43
 
44
+ task :spec => :check_dependencies
41
45
 
42
46
  task :default => :spec
43
47
 
44
48
  require 'rake/rdoctask'
45
49
  Rake::RDocTask.new do |rdoc|
46
- if File.exist?('VERSION.yml')
47
- config = YAML.load(File.read('VERSION.yml'))
48
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
50
+ if File.exist?('VERSION')
51
+ version = File.read('VERSION')
49
52
  else
50
53
  version = ""
51
54
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.1
1
+ 0.5.1
data/bin/mm-build CHANGED
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  # Require app
4
- require 'rubygems'
5
4
  require 'templater'
6
-
5
+ require "yui/compressor"
6
+ require "sprockets"
7
+
7
8
  MIDDLEMAN_BUILDER = true
8
9
  require File.join(File.dirname(__FILE__), '..', 'lib', 'middleman')
9
10
  require File.join(File.dirname(__FILE__), '..', 'vendor', 'rack-test', 'lib', 'rack', 'test')
@@ -17,7 +18,7 @@ module Generators
17
18
  def self.source_root; Dir.pwd; end
18
19
  def destination_root; File.join(Dir.pwd, 'build'); end
19
20
 
20
- # Override template to ask staticmatic for the correct extension to output
21
+ # Override template to ask middleman for the correct extension to output
21
22
  def self.template(name, *args, &block)
22
23
  return if args.first.include?('layout')
23
24
  args.first.split('/').each do |part|
@@ -26,7 +27,6 @@ module Generators
26
27
 
27
28
  if (args[0] === args[1])
28
29
  newext = case File.extname(args.first)
29
- # Middleman.supported_formats.map { |ext| ".#{ext}" }
30
30
  when '.haml', '.erb', '.mab', '.maruku'
31
31
  '.html'
32
32
  when '.sass'
@@ -49,7 +49,13 @@ module Generators
49
49
  Dir[public_files_glob].each do |action|
50
50
  next if File.directory?(action)
51
51
  action = action.sub("#{source_root}/", '')
52
- file(action.downcase.gsub(/[^a-z0-9]+/, '_').to_sym, action, action.gsub('public/', ''))
52
+ template_sym = action.downcase.gsub(/[^a-z0-9]+/, '_').to_sym
53
+
54
+ if File.extname(action) == '.js' && !action.include?('min')
55
+ template(template_sym, action, action.gsub('public/', ''))
56
+ else
57
+ file(template_sym, action, action.gsub('public/', ''))
58
+ end
53
59
  end
54
60
 
55
61
  glob! "views", (Middleman.supported_formats << "sass")
@@ -58,9 +64,30 @@ module Generators
58
64
  add :build, Builder
59
65
  end
60
66
 
67
+ class BuildConfig
68
+ def self.render(source, destination)
69
+ renderer.render(source, destination)
70
+ end
71
+
72
+ def self.renderer
73
+ @@renderer ||= BuildRenderer
74
+ end
75
+
76
+ def self.renderer=(val)
77
+ @@renderer = val
78
+ end
79
+ end
80
+
61
81
  # Monkey-patch to use a dynamic renderer
62
82
  class Templater::Actions::Template
63
83
  def render
84
+ BuildConfig.render(source, destination)
85
+ end
86
+ end
87
+
88
+ # Default render through middleman
89
+ class BuildRenderer
90
+ def self.render(source, destination)
64
91
  request_path = destination.gsub(File.join(Dir.pwd, 'build'), "")
65
92
  browser = Rack::Test::Session.new(Rack::MockSession.new(Middleman))
66
93
  browser.get(request_path)
@@ -68,4 +95,19 @@ class Templater::Actions::Template
68
95
  end
69
96
  end
70
97
 
98
+ class SprocketsRenderer < BuildRenderer
99
+ def self.render(source, destination)
100
+ if File.extname(source) == '.js'
101
+ secretary = Sprockets::Secretary.new( :asset_root => "public",
102
+ :load_path => ["public/assets/javascripts/**/*.js"],
103
+ :source_files => [source] )
104
+ compressor = YUI::JavaScriptCompressor.new(:munge => true)
105
+ compressor.compress(secretary.concatenation.to_s)
106
+ else
107
+ super
108
+ end
109
+ end
110
+ end
111
+ BuildConfig.renderer = SprocketsRenderer
112
+
71
113
  Generators.run_cli(Dir.pwd, 'mm-build', 1, %w(build --force).concat(ARGV))
data/bin/mm-init CHANGED
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- require 'rubygems'
4
2
  require 'templater'
5
3
 
6
4
  module Generators
data/bin/mm-server CHANGED
@@ -4,4 +4,5 @@
4
4
  require File.join(File.dirname(__FILE__), '..', 'lib', 'middleman')
5
5
 
6
6
  # Start Middleman
7
+ Middleman.set :server, %w[thin webrick]
7
8
  Middleman.run!(:root => Dir.pwd)
data/lib/middleman.rb CHANGED
@@ -1,8 +1,10 @@
1
- require 'rubygems'
2
1
  require 'haml'
3
2
  require 'compass' #must be loaded before sinatra
4
3
  require 'sinatra/base'
5
4
 
5
+ # Sprockets ruby 1.9 hack
6
+ require File.join(File.dirname(__FILE__), 'middleman', 'sprockets_ext')
7
+
6
8
  # Include content_for support
7
9
  require File.join(File.dirname(__FILE__), '..', 'vendor', 'sinatra-content-for', 'lib', 'sinatra', 'content_for')
8
10
 
@@ -45,7 +47,6 @@ class Middleman < Sinatra::Base
45
47
  config.output_style = :nested
46
48
  config.css_dir = File.join(File.basename(self.public), "stylesheets")
47
49
  config.images_dir = File.join(File.basename(self.public), "images")
48
- config.http_path = "/"
49
50
  config.http_images_path = "/images"
50
51
  config.http_stylesheets_path = "/stylesheets"
51
52
  config.add_import_path(config.sass_dir)
@@ -92,7 +93,7 @@ class Middleman < Sinatra::Base
92
93
  end
93
94
  rescue Haml::Error => e
94
95
  result = "Haml Error: #{e}"
95
- #result << "<pre>Backtrace: #{e.backtrace.join("\n")}</pre>"
96
+ result << "<pre>Backtrace: #{e.backtrace.join("\n")}</pre>"
96
97
  end
97
98
 
98
99
  result || pass
@@ -1,3 +1,38 @@
1
+ module Table
2
+ include Haml::Filters::Base
3
+
4
+ def render(text)
5
+ output = '<div class="table"><table cellspacing="0" cellpadding="0">'
6
+ line_num = 0
7
+ text.each_line do |line|
8
+ line_num += 1
9
+ next if line.strip.empty?
10
+ output << %Q{<tr class="#{(line_num % 2 == 0) ? "even" : "odd" }#{(line_num == 1) ? " first" : "" }">}
11
+
12
+ columns = line.split("|").map { |p| p.strip }
13
+ columns.each_with_index do |col, i|
14
+ output << %Q{<td class="col#{i+1}">#{col}</td>}
15
+ end
16
+
17
+ output << "</tr>"
18
+ end
19
+ output + "</table></div>"
20
+ end
21
+ end
22
+
23
+ def find_and_include_related_sass_file
24
+ path = request.path_info.dup
25
+ path << "index.html" if path.match(%r{/$})
26
+ path.gsub!(%r{^/}, '')
27
+ path.gsub!(File.extname(path), '')
28
+ path.gsub!('/', '-')
29
+
30
+ sass_file = File.join(File.basename(self.class.views), "stylesheets", "#{path}.sass")
31
+ if File.exists? sass_file
32
+ stylesheet_link_tag "stylesheets/#{path}.css"
33
+ end
34
+ end
35
+
1
36
  def link_to(title, url="#", params={})
2
37
  params.merge!(:href => url)
3
38
  params = params.map { |k,v| %Q{#{k}="#{v}"}}.join(' ')
@@ -0,0 +1,29 @@
1
+ module Sprockets
2
+ class SourceFile
3
+ def source_lines
4
+ @lines ||= begin
5
+ lines = []
6
+
7
+ comments = []
8
+ File.open(pathname.absolute_location, 'rb') do |file|
9
+ file.each do |line|
10
+ lines << line = SourceLine.new(self, line, file.lineno)
11
+
12
+ if line.begins_pdoc_comment? || comments.any?
13
+ comments << line
14
+ end
15
+
16
+ if line.ends_multiline_comment?
17
+ if line.ends_pdoc_comment?
18
+ comments.each { |l| l.comment! }
19
+ end
20
+ comments.clear
21
+ end
22
+ end
23
+ end
24
+
25
+ lines
26
+ end
27
+ end
28
+ end
29
+ 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.4.1"
8
+ s.version = "0.5.1"
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-08-12}
12
+ s.date = %q{2009-09-17}
13
13
  s.email = %q{tdreyno@gmail.com}
14
14
  s.executables = ["mm-init", "mm-build", "mm-server"]
15
15
  s.extra_rdoc_files = [
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "lib/middleman/helpers.rb",
31
31
  "lib/middleman/markaby.rb",
32
32
  "lib/middleman/maruku.rb",
33
+ "lib/middleman/sprockets_ext.rb",
33
34
  "lib/middleman/template/init.rb",
34
35
  "lib/middleman/template/views/index.haml",
35
36
  "lib/middleman/template/views/layout.haml",
@@ -49,120 +50,62 @@ Gem::Specification.new do |s|
49
50
  "spec/generator_spec.rb",
50
51
  "spec/spec_helper.rb",
51
52
  "vendor/rack-test/History.txt",
52
- "vendor/rack-test/History.txt",
53
- "vendor/rack-test/MIT-LICENSE.txt",
54
53
  "vendor/rack-test/MIT-LICENSE.txt",
55
54
  "vendor/rack-test/README.rdoc",
56
- "vendor/rack-test/README.rdoc",
57
- "vendor/rack-test/Rakefile",
58
55
  "vendor/rack-test/Rakefile",
59
56
  "vendor/rack-test/lib/rack/mock_session.rb",
60
- "vendor/rack-test/lib/rack/mock_session.rb",
61
- "vendor/rack-test/lib/rack/test.rb",
62
57
  "vendor/rack-test/lib/rack/test.rb",
63
58
  "vendor/rack-test/lib/rack/test/cookie_jar.rb",
64
- "vendor/rack-test/lib/rack/test/cookie_jar.rb",
65
- "vendor/rack-test/lib/rack/test/methods.rb",
66
59
  "vendor/rack-test/lib/rack/test/methods.rb",
67
60
  "vendor/rack-test/lib/rack/test/mock_digest_request.rb",
68
- "vendor/rack-test/lib/rack/test/mock_digest_request.rb",
69
- "vendor/rack-test/lib/rack/test/uploaded_file.rb",
70
61
  "vendor/rack-test/lib/rack/test/uploaded_file.rb",
71
62
  "vendor/rack-test/lib/rack/test/utils.rb",
72
- "vendor/rack-test/lib/rack/test/utils.rb",
73
- "vendor/rack-test/spec/fixtures/config.ru",
74
63
  "vendor/rack-test/spec/fixtures/config.ru",
75
64
  "vendor/rack-test/spec/fixtures/fake_app.rb",
76
- "vendor/rack-test/spec/fixtures/fake_app.rb",
77
- "vendor/rack-test/spec/fixtures/foo.txt",
78
65
  "vendor/rack-test/spec/fixtures/foo.txt",
79
66
  "vendor/rack-test/spec/rack/test/cookie_spec.rb",
80
- "vendor/rack-test/spec/rack/test/cookie_spec.rb",
81
67
  "vendor/rack-test/spec/rack/test/digest_auth_spec.rb",
82
- "vendor/rack-test/spec/rack/test/digest_auth_spec.rb",
83
- "vendor/rack-test/spec/rack/test/multipart_spec.rb",
84
68
  "vendor/rack-test/spec/rack/test/multipart_spec.rb",
85
69
  "vendor/rack-test/spec/rack/test/utils_spec.rb",
86
- "vendor/rack-test/spec/rack/test/utils_spec.rb",
87
- "vendor/rack-test/spec/rack/test_spec.rb",
88
70
  "vendor/rack-test/spec/rack/test_spec.rb",
89
71
  "vendor/rack-test/spec/rcov.opts",
90
- "vendor/rack-test/spec/rcov.opts",
91
- "vendor/rack-test/spec/spec.opts",
92
72
  "vendor/rack-test/spec/spec.opts",
93
73
  "vendor/rack-test/spec/spec_helper.rb",
94
- "vendor/rack-test/spec/spec_helper.rb",
95
74
  "vendor/sinatra-content-for/LICENSE",
96
- "vendor/sinatra-content-for/LICENSE",
97
- "vendor/sinatra-content-for/README.rdoc",
98
75
  "vendor/sinatra-content-for/README.rdoc",
99
76
  "vendor/sinatra-content-for/Rakefile",
100
- "vendor/sinatra-content-for/Rakefile",
101
- "vendor/sinatra-content-for/lib/sinatra/content_for.rb",
102
77
  "vendor/sinatra-content-for/lib/sinatra/content_for.rb",
103
78
  "vendor/sinatra-content-for/sinatra-content-for.gemspec",
104
- "vendor/sinatra-content-for/sinatra-content-for.gemspec",
105
- "vendor/sinatra-content-for/test/content_for_test.rb",
106
79
  "vendor/sinatra-content-for/test/content_for_test.rb",
107
80
  "vendor/sinatra-markaby/CHANGES",
108
- "vendor/sinatra-markaby/CHANGES",
109
81
  "vendor/sinatra-markaby/LICENSE",
110
- "vendor/sinatra-markaby/LICENSE",
111
- "vendor/sinatra-markaby/README.rdoc",
112
82
  "vendor/sinatra-markaby/README.rdoc",
113
83
  "vendor/sinatra-markaby/Rakefile",
114
- "vendor/sinatra-markaby/Rakefile",
115
- "vendor/sinatra-markaby/TODO",
116
84
  "vendor/sinatra-markaby/TODO",
117
85
  "vendor/sinatra-markaby/VERSION.yml",
118
- "vendor/sinatra-markaby/VERSION.yml",
119
- "vendor/sinatra-markaby/lib/sinatra/markaby.rb",
120
86
  "vendor/sinatra-markaby/lib/sinatra/markaby.rb",
121
87
  "vendor/sinatra-markaby/sinatra-markaby.gemspec",
122
- "vendor/sinatra-markaby/sinatra-markaby.gemspec",
123
88
  "vendor/sinatra-markaby/test/sinatra_markaby_test.rb",
124
- "vendor/sinatra-markaby/test/sinatra_markaby_test.rb",
125
- "vendor/sinatra-markaby/test/test_helper.rb",
126
89
  "vendor/sinatra-markaby/test/test_helper.rb",
127
90
  "vendor/sinatra-markaby/test/views/hello.mab",
128
- "vendor/sinatra-markaby/test/views/hello.mab",
129
- "vendor/sinatra-markaby/test/views/html.mab",
130
91
  "vendor/sinatra-markaby/test/views/html.mab",
131
92
  "vendor/sinatra-maruku/LICENSE",
132
- "vendor/sinatra-maruku/LICENSE",
133
- "vendor/sinatra-maruku/README.markdown",
134
93
  "vendor/sinatra-maruku/README.markdown",
135
94
  "vendor/sinatra-maruku/Rakefile",
136
- "vendor/sinatra-maruku/Rakefile",
137
95
  "vendor/sinatra-maruku/VERSION.yml",
138
- "vendor/sinatra-maruku/VERSION.yml",
139
- "vendor/sinatra-maruku/examples/app.rb",
140
96
  "vendor/sinatra-maruku/examples/app.rb",
141
97
  "vendor/sinatra-maruku/examples/config.ru",
142
- "vendor/sinatra-maruku/examples/config.ru",
143
- "vendor/sinatra-maruku/examples/mapp.rb",
144
98
  "vendor/sinatra-maruku/examples/mapp.rb",
145
99
  "vendor/sinatra-maruku/examples/public/javascripts/application.js",
146
- "vendor/sinatra-maruku/examples/public/javascripts/application.js",
147
- "vendor/sinatra-maruku/examples/public/stylesheets/application.css",
148
100
  "vendor/sinatra-maruku/examples/public/stylesheets/application.css",
149
101
  "vendor/sinatra-maruku/examples/public/stylesheets/print.css",
150
- "vendor/sinatra-maruku/examples/public/stylesheets/print.css",
151
102
  "vendor/sinatra-maruku/examples/views/index.maruku",
152
- "vendor/sinatra-maruku/examples/views/index.maruku",
153
- "vendor/sinatra-maruku/examples/views/layout.maruku",
154
103
  "vendor/sinatra-maruku/examples/views/layout.maruku",
155
104
  "vendor/sinatra-maruku/lib/sinatra/maruku.rb",
156
- "vendor/sinatra-maruku/lib/sinatra/maruku.rb",
157
- "vendor/sinatra-maruku/sinatra-maruku.gemspec",
158
105
  "vendor/sinatra-maruku/sinatra-maruku.gemspec",
159
106
  "vendor/sinatra-maruku/test/sinatra_maruku_test.rb",
160
- "vendor/sinatra-maruku/test/sinatra_maruku_test.rb",
161
- "vendor/sinatra-maruku/test/test_helper.rb",
162
107
  "vendor/sinatra-maruku/test/test_helper.rb",
163
108
  "vendor/sinatra-maruku/test/views/hello.maruku",
164
- "vendor/sinatra-maruku/test/views/hello.maruku",
165
- "vendor/sinatra-maruku/test/views/layout2.maruku",
166
109
  "vendor/sinatra-maruku/test/views/layout2.maruku"
167
110
  ]
168
111
  s.homepage = %q{http://github.com/tdreyno/middleman}
@@ -184,6 +127,8 @@ Gem::Specification.new do |s|
184
127
 
185
128
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
186
129
  s.add_runtime_dependency(%q<templater>, [">= 0"])
130
+ s.add_runtime_dependency(%q<yui-compressor>, [">= 0"])
131
+ s.add_runtime_dependency(%q<sprockets>, [">= 0"])
187
132
  s.add_runtime_dependency(%q<sinatra>, [">= 0"])
188
133
  s.add_runtime_dependency(%q<markaby>, [">= 0"])
189
134
  s.add_runtime_dependency(%q<maruku>, [">= 0"])
@@ -191,6 +136,8 @@ Gem::Specification.new do |s|
191
136
  s.add_runtime_dependency(%q<chriseppstein-compass>, [">= 0"])
192
137
  else
193
138
  s.add_dependency(%q<templater>, [">= 0"])
139
+ s.add_dependency(%q<yui-compressor>, [">= 0"])
140
+ s.add_dependency(%q<sprockets>, [">= 0"])
194
141
  s.add_dependency(%q<sinatra>, [">= 0"])
195
142
  s.add_dependency(%q<markaby>, [">= 0"])
196
143
  s.add_dependency(%q<maruku>, [">= 0"])
@@ -199,6 +146,8 @@ Gem::Specification.new do |s|
199
146
  end
200
147
  else
201
148
  s.add_dependency(%q<templater>, [">= 0"])
149
+ s.add_dependency(%q<yui-compressor>, [">= 0"])
150
+ s.add_dependency(%q<sprockets>, [">= 0"])
202
151
  s.add_dependency(%q<sinatra>, [">= 0"])
203
152
  s.add_dependency(%q<markaby>, [">= 0"])
204
153
  s.add_dependency(%q<maruku>, [">= 0"])
data/spec/builder_spec.rb CHANGED
@@ -18,7 +18,7 @@ describe "Builder" do
18
18
  FileUtils.rm_rf(File.join(@root_dir, "build"))
19
19
  end
20
20
 
21
- it "should build markaby files" do
21
+ xit "should build markaby files" do
22
22
  File.exists?("#{@root_dir}/build/markaby.html").should be_true
23
23
  File.read("#{@root_dir}/build/markaby.html").should include("<title>Hi Markaby</title>")
24
24
  end
@@ -1,2 +1,2 @@
1
1
  require File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "middleman", "maruku")
2
- require File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "middleman", "markaby")
2
+ #require File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "middleman", "markaby")
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  require 'spec'
2
3
 
3
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdreyno-middleman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
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-08-12 00:00:00 -07:00
12
+ date: 2009-09-17 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,6 +22,26 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: "0"
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: yui-compressor
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: sprockets
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
25
45
  - !ruby/object:Gem::Dependency
26
46
  name: sinatra
27
47
  type: :runtime
@@ -97,6 +117,7 @@ files:
97
117
  - lib/middleman/helpers.rb
98
118
  - lib/middleman/markaby.rb
99
119
  - lib/middleman/maruku.rb
120
+ - lib/middleman/sprockets_ext.rb
100
121
  - lib/middleman/template/init.rb
101
122
  - lib/middleman/template/views/index.haml
102
123
  - lib/middleman/template/views/layout.haml