blob: 60793d90184bc76b458affb80d20f714f2fa149f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
module Nanoc::Helpers
module EditOnGitLab
def edit_on_gitlab(item)
# Make an array out of the content's source path.
content_filename_array = @item[:content_filename].split('/')
# Remove "/content/"
content_filename_array.shift
# Get the product name.
product = content_filename_array.shift
# This should be the path from the doc/ directory for a given file.
docs_content_filename = content_filename_array.join("/")
root_dir = File.expand_path('../../', __dir__)
if product == "omnibus"
# omnibus-gitlab repo
gitlab_url = "https://gitlab.com/gitlab-org/#{product}-gitlab/blob/master/doc/#{docs_content_filename}"
elsif product == "runner"
# gitlab-runner repo
gitlab_url = "https://gitlab.com/gitlab-org/gitlab-#{product}/blob/master/docs/#{docs_content_filename}"
elsif %w[ce ee].include?(product)
# gitlab-ce and gitlab-ee repos
if product == "ee"
ce_file = File.join(root_dir, @item[:content_filename].sub(@config[:products][:ee][:dirs][:dest_dir], @config[:products][:ce][:dirs][:dest_dir]))
product = "ce" if File.exists?(ce_file)
end
gitlab_url = "https://gitlab.com/gitlab-org/gitlab-#{product}/blob/master/doc/#{docs_content_filename}"
elsif product == "debug"
gitlab_url = "https://gitlab.com/debugging/#{product}/blob/master/content/#{docs_content_filename}"
else
# gitlab-docs pages
gitlab_url = "https://gitlab.com/gitlab-org/gitlab-docs/blob/master/#{@item[:content_filename]}"
end
result = gitlab_url
end
end
end
|