Generate escaped url for categories with space.
Space in URLs should be encoded. Signed-off-by: Laurent Arnoud <laurent@spkdev.net>
This commit is contained in:
parent
3241d882b5
commit
1356e75811
|
@ -131,7 +131,7 @@ module Jekyll
|
|||
"title" => CGI.escape(slug),
|
||||
"i_day" => date.strftime("%d").to_i.to_s,
|
||||
"i_month" => date.strftime("%m").to_i.to_s,
|
||||
"categories" => categories.join('/'),
|
||||
"categories" => categories.map {|c| URI.escape(c) }.join('/'),
|
||||
"output_ext" => self.output_ext
|
||||
}.inject(template) { |result, token|
|
||||
result.gsub(/:#{Regexp.escape token.first}/, token.last)
|
||||
|
|
|
@ -141,6 +141,19 @@ class TestPost < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
context "with space (categories)" do
|
||||
setup do
|
||||
@post.categories << "French cuisine"
|
||||
@post.categories << "Belgian beer"
|
||||
@post.process(@fake_file)
|
||||
end
|
||||
|
||||
should "process the url correctly" do
|
||||
assert_equal "/:categories/:year/:month/:day/:title.html", @post.template
|
||||
assert_equal "/French%20cuisine/Belgian%20beer/2008/09/09/foo-bar.html", @post.url
|
||||
end
|
||||
end
|
||||
|
||||
context "with none style" do
|
||||
setup do
|
||||
@post.site.permalink_style = :none
|
||||
|
|
Loading…
Reference in New Issue