summaryrefslogtreecommitdiff
path: root/lib/banzai/filter/repository_link_filter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/banzai/filter/repository_link_filter.rb')
-rw-r--r--lib/banzai/filter/repository_link_filter.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/banzai/filter/repository_link_filter.rb b/lib/banzai/filter/repository_link_filter.rb
index 14cd607cc50..d448238c6e4 100644
--- a/lib/banzai/filter/repository_link_filter.rb
+++ b/lib/banzai/filter/repository_link_filter.rb
@@ -101,11 +101,18 @@ module Banzai
def rebuild_relative_uri(uri)
file_path = nested_file_path_if_exists(uri)
+ resource_type = uri_type(file_path)
+
+ # Repository routes are under /-/ scope now.
+ # Since we craft a path without using route helpers we must
+ # ensure - is added here.
+ prefix = '-' if %w(tree blob raw commits).include?(resource_type.to_s)
uri.path = [
relative_url_root,
project.full_path,
- uri_type(file_path),
+ prefix,
+ resource_type,
Addressable::URI.escape(ref).gsub('#', '%23'),
Addressable::URI.escape(file_path)
].compact.join('/').squeeze('/').chomp('/')