From c6df2e150a61c19d72419c9b138182057796fd84 Mon Sep 17 00:00:00 2001 From: "maul.esel" Date: Fri, 19 Apr 2013 16:37:48 +0200 Subject: [PATCH 1/4] remove leading slash from page.url and post.url --- lib/jekyll/page.rb | 1 + lib/jekyll/post.rb | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 2f7803d5..1adc00ad 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -78,6 +78,7 @@ module Jekyll # sanitize url @url = url.split('/').reject{ |part| part =~ /^\.+$/ }.join('/') @url += "/" if url =~ /\/$/ + @url.gsub!(/\A\//, '') @url end diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index a7afa800..7a3294de 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -194,6 +194,7 @@ module Jekyll # sanitize url @url = url.split('/').reject{ |part| part =~ /^\.+$/ }.join('/') @url += "/" if url =~ /\/$/ + @url.gsub!(/\A\//, '') @url end From d73841c961a568532aeb9b5193bd64731751b1d5 Mon Sep 17 00:00:00 2001 From: "maul.esel" Date: Sat, 20 Apr 2013 13:15:40 +0200 Subject: [PATCH 2/4] always ADD a leading slash to page.url or post.url --- lib/jekyll/page.rb | 2 +- lib/jekyll/post.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/jekyll/page.rb b/lib/jekyll/page.rb index 1adc00ad..730af13f 100644 --- a/lib/jekyll/page.rb +++ b/lib/jekyll/page.rb @@ -78,7 +78,7 @@ module Jekyll # sanitize url @url = url.split('/').reject{ |part| part =~ /^\.+$/ }.join('/') @url += "/" if url =~ /\/$/ - @url.gsub!(/\A\//, '') + @url.gsub!(/\A([^\/])/, '/\1') @url end diff --git a/lib/jekyll/post.rb b/lib/jekyll/post.rb index 7a3294de..728ca779 100644 --- a/lib/jekyll/post.rb +++ b/lib/jekyll/post.rb @@ -194,7 +194,7 @@ module Jekyll # sanitize url @url = url.split('/').reject{ |part| part =~ /^\.+$/ }.join('/') @url += "/" if url =~ /\/$/ - @url.gsub!(/\A\//, '') + @url.gsub!(/\A([^\/])/, '/\1') @url end From 6f28b6d432eb5f8c2262729e25dd33bdcad33366 Mon Sep 17 00:00:00 2001 From: "maul.esel" Date: Sat, 20 Apr 2013 13:21:31 +0200 Subject: [PATCH 3/4] fix tests for always-present slash --- test/test_post.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_post.rb b/test/test_post.rb index 9fe29100..1d7b8539 100644 --- a/test/test_post.rb +++ b/test/test_post.rb @@ -71,8 +71,8 @@ class TestPost < Test::Unit::TestCase @post.read_yaml(@source, file) assert_equal "my_category/permalinked-post", @post.permalink - assert_equal "my_category", @post.dir - assert_equal "my_category/permalinked-post", @post.url + assert_equal "/my_category", @post.dir + assert_equal "/my_category/permalinked-post", @post.url end context "with CRLF linebreaks" do From 9582a7cc846ebea3f5783f5fda13cbb444728594 Mon Sep 17 00:00:00 2001 From: "maul.esel" Date: Sat, 20 Apr 2013 13:34:54 +0200 Subject: [PATCH 4/4] note leading slash in the docs --- site/_posts/2012-07-01-variables.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site/_posts/2012-07-01-variables.md b/site/_posts/2012-07-01-variables.md index 3188ec28..e4251e49 100644 --- a/site/_posts/2012-07-01-variables.md +++ b/site/_posts/2012-07-01-variables.md @@ -171,7 +171,8 @@ following is a reference of the available data.

page.url

- The URL of the Post without the domain. e.g. + The URL of the Post without the domain, but + with a leading slash, e.g. /2008/12/14/my-post.html