From f0b22390fb87edd6e19bdbc3eca163a4eb22bfae Mon Sep 17 00:00:00 2001 From: rick Date: Mon, 2 Aug 2010 15:32:05 -0700 Subject: [PATCH] Change Page#name to Page#filename, and add extension-less Page#name --- lib/gollum/markup.rb | 5 ++--- lib/gollum/page.rb | 10 +++++++--- lib/gollum/wiki.rb | 2 +- test/test_wiki.rb | 5 +++-- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index 64fe6b43..0a6fe3a9 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -9,7 +9,7 @@ module Gollum # Returns a new Gollum::Markup object, ready for rendering. def initialize(page) @wiki = page.wiki - @name = page.name + @name = page.filename @data = page.raw_data @version = page.version.id @dir = ::File.dirname(page.path) @@ -267,8 +267,7 @@ module Gollum %{#{name}} else if page = @wiki.page(cname) - pname = page.name.split('.')[0..-2].join('.') - link = ::File.join(@wiki.base_path, Page.cname(pname)) + link = ::File.join(@wiki.base_path, Page.cname(page.name)) presence = "present" else link = ::File.join(@wiki.base_path, cname) diff --git a/lib/gollum/page.rb b/lib/gollum/page.rb index de283d0a..d9a7acb9 100644 --- a/lib/gollum/page.rb +++ b/lib/gollum/page.rb @@ -48,10 +48,14 @@ module Gollum # Public: The on-disk filename of the page including extension. # # Returns the String name. - def name + def filename @blob && @blob.name end + def name + filename.split('.')[0..-2].join('.').gsub('-', ' ') + end + # Public: If the first element of a formatted page is an

tag it can # be considered the title of the page and used in the display. If the # first element is NOT an

tag, the title will be constructed from the @@ -79,7 +83,7 @@ module Gollum if !header.empty? Sanitize.clean(header.to_html) else - Sanitize.clean(self.name.split('.')[0..-2].join('.').gsub('-', ' ')) + Sanitize.clean(name) end end @@ -152,7 +156,7 @@ module Gollum # # Returns the footer Page or nil if none exists. def footer - return nil if page_match('_Footer', self.name) + return nil if page_match('_Footer', self.filename) dirs = self.path.split('/') dirs.pop diff --git a/lib/gollum/wiki.rb b/lib/gollum/wiki.rb index 5e2d1e4e..431411f8 100644 --- a/lib/gollum/wiki.rb +++ b/lib/gollum/wiki.rb @@ -154,7 +154,7 @@ module Gollum else map = delete_from_tree_map(map, page.path) dir = ::File.dirname(page.path) - name = page.name.split('.')[0..-2].join('.') + name = page.name map = add_to_tree_map(map, dir, name, format, data) index = tree_map_to_index(map) end diff --git a/test/test_wiki.rb b/test/test_wiki.rb index 3205561a..a373e6f0 100644 --- a/test/test_wiki.rb +++ b/test/test_wiki.rb @@ -36,7 +36,7 @@ context "Wiki" do pages = @wiki.pages assert_equal \ %w(Bilbo-Baggins.md Eye-Of-Sauron.md Home.textile My-Precious.md), - pages.map { |p| p.name }.sort + pages.map { |p| p.filename }.sort end end @@ -50,7 +50,8 @@ context "Wiki page previewing" do page = @wiki.preview_page("Test", "# Bilbo", :markdown) assert_equal "# Bilbo", page.raw_data assert_equal "

Bilbo

", page.formatted_data - assert_equal "Test.md", page.name + assert_equal "Test.md", page.filename + assert_equal "Test", page.name end end