extract sub-page logic from Gollum::Page#footer
This commit is contained in:
+24
-13
@@ -196,19 +196,7 @@ module Gollum
|
|||||||
#
|
#
|
||||||
# Returns the footer Page or nil if none exists.
|
# Returns the footer Page or nil if none exists.
|
||||||
def footer
|
def footer
|
||||||
return nil if page_match('_Footer', self.filename)
|
find_sub_page :footer
|
||||||
|
|
||||||
dirs = self.path.split('/')
|
|
||||||
dirs.pop
|
|
||||||
map = @wiki.tree_map_for(self.version.id)
|
|
||||||
while !dirs.empty?
|
|
||||||
if page = find_page_in_tree(map, '_Footer', dirs.join('/'))
|
|
||||||
return page
|
|
||||||
end
|
|
||||||
dirs.pop
|
|
||||||
end
|
|
||||||
|
|
||||||
find_page_in_tree(map, '_Footer', '')
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# Gets a Boolean determining whether this page is a historical version.
|
# Gets a Boolean determining whether this page is a historical version.
|
||||||
@@ -356,5 +344,28 @@ module Gollum
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Loads a sub page. Sub page nanes (footers) are prefixed with
|
||||||
|
# an underscore to distinguish them from other Pages.
|
||||||
|
#
|
||||||
|
# name - String page name.
|
||||||
|
#
|
||||||
|
# Returns the Page or nil if none exists.
|
||||||
|
def find_sub_page(name)
|
||||||
|
name = "_#{name.to_s.capitalize}"
|
||||||
|
return nil if page_match(name, self.filename)
|
||||||
|
|
||||||
|
dirs = self.path.split('/')
|
||||||
|
dirs.pop
|
||||||
|
map = @wiki.tree_map_for(self.version.id)
|
||||||
|
while !dirs.empty?
|
||||||
|
if page = find_page_in_tree(map, name, dirs.join('/'))
|
||||||
|
return page
|
||||||
|
end
|
||||||
|
dirs.pop
|
||||||
|
end
|
||||||
|
|
||||||
|
find_page_in_tree(map, name, '')
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user