summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/docs/redirect.rake
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks/gitlab/docs/redirect.rake')
-rw-r--r--lib/tasks/gitlab/docs/redirect.rake63
1 files changed, 0 insertions, 63 deletions
diff --git a/lib/tasks/gitlab/docs/redirect.rake b/lib/tasks/gitlab/docs/redirect.rake
index 990ff723eeb..123a4775605 100644
--- a/lib/tasks/gitlab/docs/redirect.rake
+++ b/lib/tasks/gitlab/docs/redirect.rake
@@ -57,68 +57,5 @@ namespace :gitlab do
post.puts "<!-- Before deletion, see: https://docs.gitlab.com/ee/development/documentation/#move-or-rename-a-page -->"
end
end
-
- desc 'GitLab | Docs | Clean up old redirects'
- task :clean_redirects do
- #
- # Calculate new path from the redirect URL.
- #
- # If the redirect is not a full URL:
- # 1. Create a new Pathname of the file
- # 2. Use dirname to get all but the last component of the path
- # 3. Join with the redirect_to entry
- # 4. Substitute:
- # - '.md' => '.html'
- # - 'doc/' => '/ee/'
- #
- # If the redirect URL is a full URL pointing to the Docs site
- # (cross-linking among the 4 products), remove the FQDN prefix:
- #
- # From : https://docs.gitlab.com/ee/install/requirements.html
- # To : /ee/install/requirements.html
- #
- def new_path(redirect, filename)
- if !redirect.start_with?('http')
- Pathname.new(filename).dirname.join(redirect).to_s.gsub(%r(\.md), '.html').gsub(%r(doc/), '/ee/')
- elsif redirect.start_with?('https://docs.gitlab.com')
- redirect.gsub('https://docs.gitlab.com', '')
- else
- redirect
- end
- end
-
- today = Time.now.utc.to_date
-
- #
- # Find the files to be deleted.
- # Exclude 'doc/development/documentation/index.md' because it
- # contains an example of the YAML front matter.
- #
- files_to_be_deleted = `grep -Ir 'remove_date:' doc | grep -v doc/development/documentation/index.md | cut -d ":" -f 1`.split("\n")
-
- #
- # Iterate over the files to be deleted and print the needed
- # YAML entries for the Docs site redirects.
- #
- files_to_be_deleted.each do |filename|
- frontmatter = YAML.safe_load(File.read(filename))
- remove_date = Date.parse(frontmatter['remove_date'])
- old_path = filename.gsub(%r(\.md), '.html').gsub(%r(doc/), '/ee/')
-
- #
- # Check if the removal date is before today, and delete the file and
- # print the content to be pasted in
- # https://gitlab.com/gitlab-org/gitlab-docs/-/blob/master/content/_data/redirects.yaml.
- # The remove_date of redirects.yaml should be nine months in the future.
- # To not be confused with the remove_date of the Markdown page.
- #
- next unless remove_date < today
-
- File.delete(filename) if File.exist?(filename)
- puts " - from: #{old_path}"
- puts " to: #{new_path(frontmatter['redirect_to'], filename)}"
- puts " remove_date: #{remove_date >> 9}"
- end
- end
end
end