Make Wiki#page case insensitive.
This commit is contained in:
@@ -62,7 +62,7 @@ module Precious
|
||||
end
|
||||
|
||||
post '/create/:name' do
|
||||
name = params[:name]
|
||||
name = params[:page]
|
||||
wiki = Gollum::Wiki.new($path)
|
||||
|
||||
format = params[:format].intern
|
||||
|
||||
@@ -212,8 +212,14 @@ module Gollum
|
||||
if name =~ %r{^https?://} && parts[1].nil?
|
||||
%{<a href="#{name}">#{name}</a>}
|
||||
else
|
||||
link = ::File.join(@wiki.base_path, cname)
|
||||
presence = @wiki.page(cname) ? "present" : "absent"
|
||||
if page = @wiki.page(cname)
|
||||
pname = page.name.split('.')[0..-2].join('.')
|
||||
link = ::File.join(@wiki.base_path, Page.cname(pname))
|
||||
presence = "present"
|
||||
else
|
||||
link = ::File.join(@wiki.base_path, cname)
|
||||
presence = "absent"
|
||||
end
|
||||
%{<a class="internal #{presence}" href="#{link}">#{name}</a>}
|
||||
end
|
||||
end
|
||||
|
||||
+1
-1
@@ -271,7 +271,7 @@ module Gollum
|
||||
# Returns a Boolean.
|
||||
def page_match(name, filename)
|
||||
if match = self.class.valid_filename?(filename)
|
||||
Page.cname(name) == Page.cname(match)
|
||||
Page.cname(name).downcase == Page.cname(match).downcase
|
||||
else
|
||||
false
|
||||
end
|
||||
|
||||
@@ -21,6 +21,10 @@ context "Page" do
|
||||
assert_equal @wiki.repo.commits.first.id, page.version.id
|
||||
end
|
||||
|
||||
test "get existing page case insensitive" do
|
||||
assert_equal @wiki.page('Bilbo Baggins').path, @wiki.page('bilbo baggins').path
|
||||
end
|
||||
|
||||
test "get nested page" do
|
||||
page = @wiki.page('Eye Of Sauron')
|
||||
assert_equal 'Mordor/Eye-Of-Sauron.md', page.path
|
||||
|
||||
Reference in New Issue
Block a user