From 32d1f9eb2f3da8eb8ddbb8fb5915b38171683545 Mon Sep 17 00:00:00 2001 From: Hugo Duncan Date: Fri, 7 Jan 2011 23:59:36 -0500 Subject: [PATCH] Add parsing of org-mode [[file:path.org][label]] links --- lib/gollum/markup.rb | 13 ++++++++++++- test/test_markup.rb | 6 ++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/gollum/markup.rb b/lib/gollum/markup.rb index 6b8a4582..9617d3dd 100644 --- a/lib/gollum/markup.rb +++ b/lib/gollum/markup.rb @@ -120,7 +120,18 @@ module Gollum if $1 == "'" && $3 != "'" "[[#{$2}]]#{$3}" elsif $2.include?('][') - $& + if $2[0..4] == 'file:' + pre = $1 + post = $3 + parts = $2.split('][') + parts[0][0..4] = "" + link = "#{parts[1]}|#{parts[0].sub(/\.org/,'')}" + id = Digest::SHA1.hexdigest(link) + @tagmap[id] = link + "#{pre}#{id}#{post}" + else + $& + end else id = Digest::SHA1.hexdigest($2) @tagmap[id] = $2 diff --git a/test/test_markup.rb b/test/test_markup.rb index 098b9512..fa420c79 100644 --- a/test/test_markup.rb +++ b/test/test_markup.rb @@ -414,6 +414,12 @@ context "Markup" do compare(content, output, 'org') end + test "org mode style double file links" do + content = "a [[file:f.org][Google]] b" + output = "

a Google b

" + compare(content, output, 'org') + end + ######################################################################### # # TeX