diff --git a/lib/gollum/frontend/helpers.rb b/lib/gollum/frontend/helpers.rb index b8ec4afb..7ae0381a 100644 --- a/lib/gollum/frontend/helpers.rb +++ b/lib/gollum/frontend/helpers.rb @@ -23,5 +23,12 @@ module Precious return url if url.nil? url.gsub('%2F','/').gsub(/^\/+/,'') end + + def trim_leading_slash url + return url if url.nil? + url.gsub!('%2F','/') + return '/' + url.gsub(/^\/+/,'') if url[0,1] == '/' + url + end end end diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index fcedd7f0..2651f6db 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -411,7 +411,7 @@ module Gollum # //page is invalid # strip all duplicate forward slashes using helpers.rb clean_url # //page => /page - # link = one_leading_slash link + link = trim_leading_slash link %{#{name}} end diff --git a/test/test_markup.rb b/test/test_markup.rb index bcb0c972..97df143e 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -56,7 +56,7 @@ context "Markup" do ######################################################################### test "absolute link to non-existant page" do - @wiki.write_page("linktest", :markdown, "[[/page]]", commit_details) + @wiki.write_page("linktest", :markdown, "[[/Page]]", commit_details) # "
" page = @wiki.page("linktest") @@ -68,7 +68,7 @@ context "Markup" do assert_equal 1, anchors.size assert_equal 'internal absent', anchors[0]['class'] assert_equal '/Page', anchors[0]['href'] - assert_equal 'Page', anchors[0].text + assert_equal '/Page', anchors[0].text end test "double page links no space" do