Merge pull request #308 from bootstraponline/title

Title defined by filename only.
This commit is contained in:
Corey Donohoe
2012-05-04 15:35:32 -07:00
2 changed files with 6 additions and 28 deletions
+2 -24
View File
@@ -124,35 +124,13 @@ module Gollum
self.class.canonicalize_filename(filename)
end
# Public: If the first element of a formatted page is an <h1> tag it can
# be considered the title of the page and used in the display. If the
# first element is NOT an <h1> tag, the title will be constructed from the
# Public: The title will be constructed from the
# filename by stripping the extension and replacing any dashes with
# spaces.
#
# Returns the fully sanitized String title.
def title
doc = Nokogiri::HTML(%{<div id="gollum-root">} + self.formatted_data + %{</div>})
header =
case self.format
when :asciidoc
doc.css("div#gollum-root > div#header > h1:first-child")
when :org
doc.css("div#gollum-root > p.title:first-child")
when :pod
doc.css("div#gollum-root > a.dummyTopAnchor:first-child + h1")
when :rest
doc.css("div#gollum-root > div > div > h1:first-child")
else
doc.css("div#gollum-root > h1:first-child")
end
if !header.empty?
Sanitize.clean(header.to_html)
else
Sanitize.clean(name)
end.strip
header = Sanitize.clean(name).strip
end
# Public: The path of the page within the repo.
+4 -4
View File
@@ -104,12 +104,12 @@ context "Page" do
assert_equal 'My Precious', page.title
end
test "title from h1 with normal contents" do
test "title from filename with normal contents" do
page = @wiki.page('Home')
assert_equal "The LOTR Wiki", page.title
assert_equal "Home", page.title
end
test "title from h1 with html contents" do
test "title from filename with html contents" do
page = @wiki.page('Eye Of Sauron')
assert_equal "Eye Of Sauron", page.title
end
@@ -163,4 +163,4 @@ context "Page" do
assert_equal "/foo", Gollum::BlobEntry.normalize_dir("foo")
assert_equal "/foo", Gollum::BlobEntry.normalize_dir("/foo")
end
end
end