diff --git a/lib/jekyll/document.rb b/lib/jekyll/document.rb index 7a547156..f4761ef8 100644 --- a/lib/jekyll/document.rb +++ b/lib/jekyll/document.rb @@ -45,21 +45,6 @@ module Jekyll File.basename(path, suffix) end - # Sluggify a filename or title. - # - # name - the filename or title to sluggify - # - # Returns the given filename or title in lowercase, with every - # sequence of spaces and non-alphanumeric characters replaced with a - # hyphen. - def sluggify(name) - if name.nil? - nil - else - name.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') - end - end - # The extension name of the document. # # Returns the extension name of the document. @@ -144,8 +129,8 @@ module Jekyll collection: collection.label, path: cleaned_relative_path, output_ext: Jekyll::Renderer.new(site, self).output_ext, - name: sluggify(basename(".*")), - title: sluggify(data['title']) || sluggify(basename(".*")) + name: Utils.slugify(basename(".*")), + title: Utils.slugify(data['title']) || Utils.slugify(basename(".*")) } end diff --git a/lib/jekyll/utils.rb b/lib/jekyll/utils.rb index f3dbf9d7..34dff9f3 100644 --- a/lib/jekyll/utils.rb +++ b/lib/jekyll/utils.rb @@ -102,5 +102,20 @@ module Jekyll !!(File.open(file, 'rb') { |f| f.read(5) } =~ /\A---\r?\n/) end + # Slugify a filename or title. + # + # name - the filename or title to slugify + # + # Returns the given filename or title in lowercase, with every + # sequence of spaces and non-alphanumeric characters replaced with a + # hyphen. + def slugify(name) + if name.nil? + nil + else + name.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') + end + end + end end