From 5c47014c90ea27b90c2b4417ba61a427d3ed9cac Mon Sep 17 00:00:00 2001 From: Anand Narayan Date: Sat, 15 Jun 2013 18:35:43 +0530 Subject: [PATCH 1/2] removed cgi unescape in page destination --- lib/jekyll/page.rb | 4 +--- test/source/+/foo.md | 6 ++++++ test/test_page.rb | 9 +++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 test/source/+/foo.md diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index ef7c4d3a..56119e07 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -134,9 +134,7 @@ module Jekyll # # Returns the destination file path String. def destination(dest) - # The url needs to be unescaped in order to preserve the correct - # filename. - path = File.join(dest, CGI.unescape(self.url)) + path = File.join(dest, self.url) path = File.join(path, "index.html") if self.url =~ /\/$/ path end diff --git a/test/source/+/foo.md b/test/source/+/foo.md new file mode 100644 index 00000000..555abb65 --- /dev/null +++ b/test/source/+/foo.md @@ -0,0 +1,6 @@ +--- +layout: default +title : Page inside + +--- +Line 1 +{{ page.title }} diff --git a/test/test_page.rb b/test/test_page.rb index 2d8c98ee..5e6ec3da 100644 --- a/test/test_page.rb +++ b/test/test_page.rb @@ -127,6 +127,15 @@ class TestPage < Test::Unit::TestCase assert File.exists?(File.join(dest_dir, 'contacts.html')) end + should "write even when the folder name is plus" do + page = setup_page('+', 'foo.md') + do_render(page) + page.write(dest_dir) + + assert File.directory?(dest_dir) + assert File.exists?(File.join(dest_dir, '+', 'foo.html')) + end + should "write properly without html extension" do page = setup_page('contacts.html') page.site.permalink_style = :pretty From 7e79b9df923010c81db11b60808443da4477875c Mon Sep 17 00:00:00 2001 From: Anand Narayan Date: Sat, 15 Jun 2013 23:18:31 +0530 Subject: [PATCH 2/2] added a plus to permalink --- test/source/+/foo.md | 1 + test/test_page.rb | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/test/source/+/foo.md b/test/source/+/foo.md index 555abb65..cb4f8ce0 100644 --- a/test/source/+/foo.md +++ b/test/source/+/foo.md @@ -1,6 +1,7 @@ --- layout: default title : Page inside + +permalink: plus+in+url --- Line 1 {{ page.title }} diff --git a/test/test_page.rb b/test/test_page.rb index 5e6ec3da..e3190563 100644 --- a/test/test_page.rb +++ b/test/test_page.rb @@ -127,13 +127,13 @@ class TestPage < Test::Unit::TestCase assert File.exists?(File.join(dest_dir, 'contacts.html')) end - should "write even when the folder name is plus" do + should "write even when the folder name is plus and permalink has +" do page = setup_page('+', 'foo.md') do_render(page) page.write(dest_dir) assert File.directory?(dest_dir) - assert File.exists?(File.join(dest_dir, '+', 'foo.html')) + assert File.exists?(File.join(dest_dir, '+', 'plus+in+url')) end should "write properly without html extension" do