diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index fa7794ae..d9c62b67 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -4,13 +4,12 @@ module Gollum class Markup # Initialize a new Markup object. # - # name - The String filename of the page. - # data - The String contents of the page. + # page - The Gollum::Page. # # Returns a new Gollum::Markup object, ready for rendering. - def initialize(name, data) - @name = name - @data = data + def initialize(page) + @name = page.name + @data = page.raw_data @tagmap = {} end @@ -72,6 +71,9 @@ module Gollum # Returns the String HTML if the tag is a valid image tag or nil # if it is not. def process_image_tag(tag) + parts = tag.split('|') + name = parts[0].strip + nil end @@ -93,8 +95,8 @@ module Gollum # if it is not. def process_page_link_tag(tag) parts = tag.split('|') - name = parts[0] - cname = Gollum::canonical_name(parts[1] || parts[0]) + name = parts[0].strip + cname = Gollum::canonical_name((parts[1] || parts[0]).strip) %{#{name}} end end diff --git a/lib/gollum/page.rb b/lib/gollum/page.rb index 03e5b094..96717f22 100644 --- a/lib/gollum/page.rb +++ b/lib/gollum/page.rb @@ -35,7 +35,7 @@ module Gollum # # Returns the String data. def formatted_data - Gollum::Markup.new(@blob.name, @blob.data).render rescue nil + Gollum::Markup.new(self).render rescue nil end # Public: The format of the page. diff --git a/test/test_markup.rb b/test/test_markup.rb index 7ee12d9c..c208d841 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -1,9 +1,25 @@ require File.join(File.dirname(__FILE__), *%w[helper]) context "Markup" do + setup do + @path = testpath("examples/test.git") + FileUtils.rm_rf(@path) + Grit::Repo.init_bare(@path) + @wiki = Gollum::Wiki.new(@path) + + commit = { :message => "Bilbo page", + :name => "Tom Preston-Werner", + :email => "tom@github.com" } + @wiki.write_page("Bilbo Baggins", :markdown, "a [[Bilbo Baggins]] b", commit) + end + + teardown do + FileUtils.rm_r(File.join(File.dirname(__FILE__), *%w[examples test.git])) + end + test "page link" do - data = "a [[Bilbo Baggins]] b" - output = Gollum::Markup.new("x.md", data).render + page = @wiki.page("Bilbo Baggins") + output = Gollum::Markup.new(page).render assert_equal %{
a Bilbo Baggins b
\n}, output end end