diff --git a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb index 86f95d12..d9c5175f 100644 --- a/middleman-core/lib/middleman-core/core_extensions/front_matter.rb +++ b/middleman-core/lib/middleman-core/core_extensions/front_matter.rb @@ -35,7 +35,7 @@ module Middleman::CoreExtensions data = {} %w(layout layout_engine).each do |opt| - data[opt.to_sym] = fmdata[opt] if fmdata[opt] + data[opt.to_sym] = fmdata[opt] unless fmdata[opt].nil? end { :options => data, :page => fmdata } diff --git a/middleman-core/lib/middleman-core/core_extensions/routing.rb b/middleman-core/lib/middleman-core/core_extensions/routing.rb index c51f23e0..3ddf9f53 100644 --- a/middleman-core/lib/middleman-core/core_extensions/routing.rb +++ b/middleman-core/lib/middleman-core/core_extensions/routing.rb @@ -45,7 +45,9 @@ module Middleman # @param [Hash] opts # @return [void] def page(url, opts={}, &block) - a_block = block_given? ? block : nil + + blocks = [] + blocks << block if block_given? # Default layout opts[:layout] = layout if opts[:layout].nil? @@ -55,7 +57,7 @@ module Middleman # Use the metadata loop for matching against paths at runtime sitemap.provides_metadata_for_path url do |url| - { :options => opts, :blocks => [a_block] } + { :options => opts, :blocks => blocks } end return @@ -83,7 +85,7 @@ module Middleman # Setup a metadata matcher for rendering those options sitemap.provides_metadata_for_path url do |url| - { :options => opts, :blocks => [a_block] } + { :options => opts, :blocks => blocks } end end end diff --git a/middleman-core/lib/middleman-core/sitemap/resource.rb b/middleman-core/lib/middleman-core/sitemap/resource.rb index 2ca7ae12..f785bbba 100644 --- a/middleman-core/lib/middleman-core/sitemap/resource.rb +++ b/middleman-core/lib/middleman-core/sitemap/resource.rb @@ -69,6 +69,8 @@ module Middleman end result.deep_merge!(local_meta) + result[:blocks] = result[:blocks].flatten.compact + result end @@ -125,7 +127,7 @@ module Middleman app.data.store("page", md[:page]) end - md[:blocks].flatten.compact.each do |block| + md[:blocks].each do |block| app.instance_eval(&block) end diff --git a/middleman-more/features/markdown.feature b/middleman-more/features/markdown.feature index da542661..953e8ed6 100644 --- a/middleman-more/features/markdown.feature +++ b/middleman-more/features/markdown.feature @@ -9,10 +9,4 @@ Feature: Markdown support Scenario: Markdown extensions (Maruku) Given the Server is running at "markdown-app" When I go to "/smarty_pants.html" - Then I should see """ - When I go to "/no_intra_emphasis.html" - Then I should not see "" - When I go to "/tables.html" - Then I should see "" - When I go to "/space_after_headers.html" - Then I should not see "

" \ No newline at end of file + Then I should see """ \ No newline at end of file