summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-10-19 03:10:36 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-10-19 03:10:36 +0000
commit53181fac036918912bd271178ec624ee396c21a6 (patch)
tree94dcf4c53d3fd04d55143fbedcdb522c8817bd48 /lib
parent18e11db5dc1916003766af8a3e1675d2f4713a7a (diff)
downloadgitlab-ce-53181fac036918912bd271178ec624ee396c21a6.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib')
-rw-r--r--lib/banzai/filter/wiki_link_filter/rewriter.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/banzai/filter/wiki_link_filter/rewriter.rb b/lib/banzai/filter/wiki_link_filter/rewriter.rb
index b4c2e7efae3..455cac98841 100644
--- a/lib/banzai/filter/wiki_link_filter/rewriter.rb
+++ b/lib/banzai/filter/wiki_link_filter/rewriter.rb
@@ -42,7 +42,7 @@ module Banzai
def apply_relative_link_rules!
if @uri.relative? && @uri.path.present?
link = @uri.path
- link = ::File.join(@wiki_base_path, link) unless link.starts_with?(@wiki_base_path)
+ link = ::File.join(@wiki_base_path, link) unless prefixed_with_base_path?(link)
link = "#{link}##{@uri.fragment}" if @uri.fragment
@uri = Addressable::URI.parse(link)
end
@@ -55,6 +55,15 @@ module Banzai
def repository_upload?
@uri.relative? && @uri.path.starts_with?(Wikis::CreateAttachmentService::ATTACHMENT_PATH)
end
+
+ def prefixed_with_base_path?(link)
+ link.starts_with?(@wiki_base_path) || link.starts_with?(old_wiki_base_path)
+ end
+
+ # before we added `/-/` to all our paths
+ def old_wiki_base_path
+ @wiki_base_path.sub('/-/', '/')
+ end
end
end
end