diff --git a/lib/jekyll/document.rb b/lib/jekyll/document.rb index a4bc6412..db471c32 100644 --- a/lib/jekyll/document.rb +++ b/lib/jekyll/document.rb @@ -45,6 +45,15 @@ module Jekyll File.basename(path, suffix) end + # The sluggified base filename of the document. + # + # Returns the base filename of the document in lowercase, with every + # sequence of spaces and non-alphanumeric characters replaced with a + # hyphen. + def slug + File.basename(path, ".*").downcase.gsub(/[\W\s]+/, '-') + end + # The extension name of the document. # # Returns the extension name of the document. @@ -129,7 +138,7 @@ module Jekyll collection: collection.label, path: cleaned_relative_path, output_ext: Jekyll::Renderer.new(site, self).output_ext, - name: basename(".*") + name: slug } end