From 397944faeb99a90ab0a8101b423058319708bec1 Mon Sep 17 00:00:00 2001 From: tdreyno Date: Wed, 12 Aug 2009 10:00:06 -0700 Subject: [PATCH] Split maruku and markaby support into their own folders --- bin/mm-build | 3 ++- lib/middleman.rb | 20 ++++++-------------- lib/middleman/markaby.rb | 4 ++++ lib/middleman/maruku.rb | 4 ++++ spec/fixtures/sample/init.rb | 2 ++ 5 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 lib/middleman/markaby.rb create mode 100644 lib/middleman/maruku.rb create mode 100644 spec/fixtures/sample/init.rb diff --git a/bin/mm-build b/bin/mm-build index 338b30b8..b82eee2d 100755 --- a/bin/mm-build +++ b/bin/mm-build @@ -26,6 +26,7 @@ module Generators if (args[0] === args[1]) newext = case File.extname(args.first) + # Middleman.supported_formats.map { |ext| ".#{ext}" } when '.haml', '.erb', '.mab', '.maruku' '.html' when '.sass' @@ -51,7 +52,7 @@ module Generators file(action.downcase.gsub(/[^a-z0-9]+/, '_').to_sym, action, action.gsub('public/', '')) end - glob! "views", %w(haml sass erb builder mab maruku) + glob! "views", (Middleman.supported_formats << "sass") end add :build, Builder diff --git a/lib/middleman.rb b/lib/middleman.rb index 8afb572b..13088119 100644 --- a/lib/middleman.rb +++ b/lib/middleman.rb @@ -3,12 +3,6 @@ require 'haml' require 'compass' #must be loaded before sinatra require 'sinatra/base' -# Include markaby support -require File.join(File.dirname(__FILE__), '..', 'vendor', 'sinatra-markaby', 'lib', 'sinatra', 'markaby') - -# Include maruku support -require File.join(File.dirname(__FILE__), '..', 'vendor', 'sinatra-maruku', 'lib', 'sinatra', 'maruku') - # Include content_for support require File.join(File.dirname(__FILE__), '..', 'vendor', 'sinatra-content-for', 'lib', 'sinatra', 'content_for') @@ -17,9 +11,9 @@ class Middleman < Sinatra::Base set :static, true set :root, Dir.pwd set :environment, defined?(MIDDLEMAN_BUILDER) ? :build : :development - - helpers Sinatra::Markaby - helpers Sinatra::Maruku + + set :supported_formats, %w(haml erb builder) + helpers Sinatra::ContentFor def self.run!(options={}, &block) @@ -84,6 +78,7 @@ class Middleman < Sinatra::Base end end + # All other files get /(.*)/ do |path| path << "index.html" if path.match(%r{/$}) path.gsub!(%r{^/}, '') @@ -91,9 +86,8 @@ class Middleman < Sinatra::Base result = nil begin - %w(haml erb builder maruku mab).detect do |renderer| + options.supported_formats.detect do |renderer| next false if !File.exists?(File.join(options.views, "#{path}.#{renderer}")) - renderer = "markaby" if renderer == "mab" result = send(renderer.to_sym, path.to_sym) end rescue Haml::Error => e @@ -103,6 +97,4 @@ class Middleman < Sinatra::Base result || pass end -end - -require File.join(File.dirname(__FILE__), 'middleman', 'helpers') \ No newline at end of file +end \ No newline at end of file diff --git a/lib/middleman/markaby.rb b/lib/middleman/markaby.rb new file mode 100644 index 00000000..048e0a71 --- /dev/null +++ b/lib/middleman/markaby.rb @@ -0,0 +1,4 @@ +# Include markaby support +require File.join(File.dirname(__FILE__), '..', '..', 'vendor', 'sinatra-markaby', 'lib', 'sinatra', 'markaby') +Middleman.helpers Sinatra::Markaby +Middleman.supported_formats << "mab" \ No newline at end of file diff --git a/lib/middleman/maruku.rb b/lib/middleman/maruku.rb new file mode 100644 index 00000000..a3c01902 --- /dev/null +++ b/lib/middleman/maruku.rb @@ -0,0 +1,4 @@ +# Include maruku support +require File.join(File.dirname(__FILE__), '..', '..', 'vendor', 'sinatra-maruku', 'lib', 'sinatra', 'maruku') +Middleman.helpers Sinatra::Maruku +Middleman.supported_formats << "maruku" \ No newline at end of file diff --git a/spec/fixtures/sample/init.rb b/spec/fixtures/sample/init.rb new file mode 100644 index 00000000..149d1348 --- /dev/null +++ b/spec/fixtures/sample/init.rb @@ -0,0 +1,2 @@ +require File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "middleman", "maruku") +require File.join(File.dirname(__FILE__), "..", "..", "..", "lib", "middleman", "markaby") \ No newline at end of file