summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-07-28 17:20:31 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-07-28 17:20:31 +0000
commit198a8c602dc164186972d0b53064c8086c8ef2ec (patch)
tree07c92d03e9cfb0e34962e184abc7a9a2c5dcad1b /app
parent2dbc3d294364b59fb0360e15185894ca657e4ddd (diff)
downloadredmine-198a8c602dc164186972d0b53064c8086c8ef2ec.tar.gz
redmine-198a8c602dc164186972d0b53064c8086c8ef2ec.zip
Adds support for wiki links with anchor (#1647).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1706 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/helpers/application_helper.rb13
1 files changed, 9 insertions, 4 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 6d6eb9107..a4102c84a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -246,12 +246,12 @@ module ApplicationHelper
case options[:wiki_links]
when :local
# used for local links to html files
- format_wiki_link = Proc.new {|project, title| "#{title}.html" }
+ format_wiki_link = Proc.new {|project, title, anchor| "#{title}.html" }
when :anchor
# used for single-file wiki export
- format_wiki_link = Proc.new {|project, title| "##{title}" }
+ format_wiki_link = Proc.new {|project, title, anchor| "##{title}" }
else
- format_wiki_link = Proc.new {|project, title| url_for(:only_path => only_path, :controller => 'wiki', :action => 'index', :id => project, :page => title) }
+ format_wiki_link = Proc.new {|project, title, anchor| url_for(:only_path => only_path, :controller => 'wiki', :action => 'index', :id => project, :page => title, :anchor => anchor) }
end
project = options[:project] || @project || (obj && obj.respond_to?(:project) ? obj.project : nil)
@@ -277,9 +277,14 @@ module ApplicationHelper
end
if link_project && link_project.wiki
+ # extract anchor
+ anchor = nil
+ if page =~ /^(.+?)\#(.+)$/
+ page, anchor = $1, $2
+ end
# check if page exists
wiki_page = link_project.wiki.find_page(page)
- link_to((title || page), format_wiki_link.call(link_project, Wiki.titleize(page)),
+ link_to((title || page), format_wiki_link.call(link_project, Wiki.titleize(page), anchor),
:class => ('wiki-page' + (wiki_page ? '' : ' new')))
else
# project or wiki doesn't exist