From e8b00fb6f2b2009bb766ffcb21b777e8b6b1bf8a Mon Sep 17 00:00:00 2001 From: Chris Frederick Date: Sat, 23 Aug 2014 14:50:55 +0900 Subject: [PATCH] Add the 'title' variable to collection permalinks --- lib/jekyll/document.rb | 3 ++- test/test_document.rb | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/document.rb b/lib/jekyll/document.rb index 891610fa..61e62510 100644 --- a/lib/jekyll/document.rb +++ b/lib/jekyll/document.rb @@ -128,7 +128,8 @@ module Jekyll { collection: collection.label, path: cleaned_relative_path, - output_ext: Jekyll::Renderer.new(site, self).output_ext + output_ext: Jekyll::Renderer.new(site, self).output_ext, + title: basename(".*") } end diff --git a/test/test_document.rb b/test/test_document.rb index b352a050..994788db 100644 --- a/test/test_document.rb +++ b/test/test_document.rb @@ -186,6 +186,26 @@ class TestDocument < Test::Unit::TestCase end end + context "a document in a collection with custom permalinks" do + setup do + @site = Site.new(Jekyll.configuration({ + "collections" => { + "slides" => { + "output" => true, + "permalink" => "/slides/test/:title" + } + }, + "source" => source_dir, + "destination" => dest_dir + })) + @site.process + @document = @site.collections["slides"].docs[0] + end + + should "produce the right URL" do + assert_equal "/slides/test/example-slide-1", @document.url + end + end context "a static file in a collection" do setup do