From b97f681ef16dce0ad16443dad50554b02439573c Mon Sep 17 00:00:00 2001 From: Thomas Reynolds Date: Thu, 19 Apr 2012 15:47:42 -0700 Subject: [PATCH] Move file extension methods up a level --- .../sitemap/extensions/on_disk.rb | 47 +------------------ .../lib/middleman-core/sitemap/store.rb | 43 +++++++++++++++++ 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb b/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb index d8e89331..fe869d8d 100644 --- a/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb +++ b/middleman-core/lib/middleman-core/sitemap/extensions/on_disk.rb @@ -37,7 +37,7 @@ module Middleman::Sitemap::Extensions def touch_file(file, rebuild=true) return false if file == @app.source_dir || File.directory?(file) - path = file_to_path(file) + path = @sitemap.file_to_path(file) return false unless path ignored = @app.ignored_sitemap_matchers.any? do |name, callback| @@ -68,53 +68,10 @@ module Middleman::Sitemap::Extensions resources + @file_paths_on_disk.map do |file| ::Middleman::Sitemap::Resource.new( @sitemap, - file_to_path(file), + @sitemap.file_to_path(file), File.expand_path(file, @app.root) ) end end - - # Get the URL path for an on-disk file - # @param [String] file - # @return [String] - def file_to_path(file) - file = File.expand_path(file, @app.root) - - prefix = @app.source_dir.sub(/\/$/, "") + "/" - return false unless file.include?(prefix) - - path = file.sub(prefix, "") - extensionless_path(path) - end - - # Get a path without templating extensions - # @param [String] file - # @return [String] - def extensionless_path(file) - path = file.dup - - end_of_the_line = false - while !end_of_the_line - if !::Tilt[path].nil? - path = path.sub(File.extname(path), "") - else - end_of_the_line = true - end - end - - # If there is no extension, look for one - if File.extname(path).empty? - input_ext = File.extname(file) - - if !input_ext.empty? - input_ext = input_ext.split(".").last.to_sym - if @app.template_extensions.has_key?(input_ext) - path << ".#{@app.template_extensions[input_ext]}" - end - end - end - - path - end end end diff --git a/middleman-core/lib/middleman-core/sitemap/store.rb b/middleman-core/lib/middleman-core/sitemap/store.rb index 8f9ff2cf..d6ba9fb5 100644 --- a/middleman-core/lib/middleman-core/sitemap/store.rb +++ b/middleman-core/lib/middleman-core/sitemap/store.rb @@ -144,5 +144,48 @@ module Middleman::Sitemap result.deep_merge(metadata) end end + + # Get the URL path for an on-disk file + # @param [String] file + # @return [String] + def file_to_path(file) + file = File.expand_path(file, @app.root) + + prefix = @app.source_dir.sub(/\/$/, "") + "/" + return false unless file.include?(prefix) + + path = file.sub(prefix, "") + extensionless_path(path) + end + + # Get a path without templating extensions + # @param [String] file + # @return [String] + def extensionless_path(file) + path = file.dup + + end_of_the_line = false + while !end_of_the_line + if !::Tilt[path].nil? + path = path.sub(File.extname(path), "") + else + end_of_the_line = true + end + end + + # If there is no extension, look for one + if File.extname(path).empty? + input_ext = File.extname(file) + + if !input_ext.empty? + input_ext = input_ext.split(".").last.to_sym + if @app.template_extensions.has_key?(input_ext) + path << ".#{@app.template_extensions[input_ext]}" + end + end + end + + path + end end end \ No newline at end of file