提交 817399e3 编写于 作者: M Marin Jankovski

Show links with correct ref.

上级 810d90dd
...@@ -59,10 +59,10 @@ module GitlabMarkdownHelper ...@@ -59,10 +59,10 @@ module GitlabMarkdownHelper
end end
end end
def create_relative_links(text, project_path_with_namespace) def create_relative_links(text, project_path_with_namespace, ref)
to_be_fixed = text.split("\n").map { |a| a.scan(/\]\(([^(]+)\)/) }.reject{|b| b.empty? }.flatten.reject{|c| c.include?("http" || "www")} links = text.split("\n").map { |a| a.scan(/\]\(([^(]+)\)/) }.reject{|b| b.empty? }.flatten.reject{|c| c.include?("http" || "www")}
to_be_fixed.each do |string| links.each do |string|
text.gsub!(string, "/#{project_path_with_namespace}/blob/master/#{string}") text.gsub!(string, "/#{project_path_with_namespace}/blob/#{ref}/#{string}")
end end
text text
end end
......
...@@ -6,6 +6,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML ...@@ -6,6 +6,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
def initialize(template, options = {}) def initialize(template, options = {})
@template = template @template = template
@project = @template.instance_variable_get("@project") @project = @template.instance_variable_get("@project")
@ref = @template.instance_variable_get("@ref")
super options super options
end end
...@@ -33,7 +34,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML ...@@ -33,7 +34,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
end end
def preprocess(full_document) def preprocess(full_document)
h.create_relative_links(full_document, @project.path_with_namespace) h.create_relative_links(full_document, @project.path_with_namespace, @ref)
end end
def postprocess(full_document) def postprocess(full_document)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册