From 05d65f0341273fa5214fdec2a970c2b168fa6fb9 Mon Sep 17 00:00:00 2001 From: Chris Frederick Date: Mon, 1 Sep 2014 16:25:42 +0900 Subject: [PATCH] Rename 'slug' to 'sluggify' and clean up code --- lib/jekyll/document.rb | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/jekyll/document.rb b/lib/jekyll/document.rb index 0b4b72ec..7a547156 100644 --- a/lib/jekyll/document.rb +++ b/lib/jekyll/document.rb @@ -45,15 +45,19 @@ module Jekyll File.basename(path, suffix) end - # A sluggified filename or title. + # 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 slug(name) - name.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') + def sluggify(name) + if name.nil? + nil + else + name.downcase.gsub(/[^\w]/, " ").strip.gsub(/\s+/, '-') + end end # The extension name of the document. @@ -136,14 +140,12 @@ module Jekyll # # Returns the Hash of key-value pairs for replacement in the URL. def url_placeholders - name_slug = slug(File.basename(path, ".*")) - title_slug = data['title'].nil? ? name_slug : slug(data['title']) { collection: collection.label, path: cleaned_relative_path, output_ext: Jekyll::Renderer.new(site, self).output_ext, - name: name_slug, - title: title_slug + name: sluggify(basename(".*")), + title: sluggify(data['title']) || sluggify(basename(".*")) } end