From 36f5c6ef369651d25cbd487f66bc52f05a186307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 17 Jan 2025 07:32:05 +0100 Subject: [PATCH 1/4] Fix non editable links not being properly rendered in Haml 6 --- source/layouts/two_column_layout.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/layouts/two_column_layout.haml b/source/layouts/two_column_layout.haml index c9902eaf19..bc2e8d9bc7 100644 --- a/source/layouts/two_column_layout.haml +++ b/source/layouts/two_column_layout.haml @@ -24,4 +24,4 @@ .container .contents .edit-on-github.text-center - = link_to_editable_version + != link_to_editable_version From 4e54d91fee4fa0d96dfe13aefef472d5e586f3e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 17 Jan 2025 08:15:58 +0100 Subject: [PATCH 2/4] Refactor building edit links --- helpers/docs_helper.rb | 47 +++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/helpers/docs_helper.rb b/helpers/docs_helper.rb index 721acd03b6..e29ff3e038 100644 --- a/helpers/docs_helper.rb +++ b/helpers/docs_helper.rb @@ -13,33 +13,21 @@ def link_to_documentation(page, version=nil) end def link_to_editable_version - editable = true path = current_page.file_descriptor.relative_path.to_s - repo = - if path.start_with?("doc/") - path = "bundler/#{path}" - "rubygems/rubygems" - elsif %r{\A(?v\d+\.\d+)/man/(?(bundle[_-]|gemfile)[^/]*)\.html} =~ path - if version == current_version - path = "bundler/lib/bundler/man/#{filename}.ronn" - else - editable = false - end - "rubygems/rubygems" + if path.start_with?("doc/") + path = "bundler/#{path}" + link_to_source("rubygems/rubygems", path) + elsif %r{\A(?v\d+\.\d+)/man/(?(bundle[_-]|gemfile)[^/]*)\.html} =~ path + if version == current_version + path = "bundler/lib/bundler/man/#{filename}.ronn" + link_to_source("rubygems/rubygems", path) else - path = File.join "source", path - "rubygems/bundler-site" + path = path.sub(version, current_version) + link_to_latest(path) end - - if editable - url = "https://github.com/#{repo}/blob/master/#{path}" - link_to("Edit this document on GitHub", url) + - " if you caught an error or noticed something was missing." else - url = "/" + path.sub(version, current_version).sub(/\.html.*/, ".html") - "This document is obsolete. " + - link_to("See the latest version of this document", url) + - " if you caught an error or noticed something was missing, it may be fixed there." + path = File.join "source", path + link_to_source("rubygems/bundler-site", path) end end @@ -73,6 +61,19 @@ def whats_new?(path) private + def link_to_source(repo, path) + url = "https://github.com/#{repo}/blob/master/#{path}" + link_to("Edit this document on GitHub", url) + + " if you caught an error or noticed something was missing." + end + + def link_to_latest(path) + url = "/" + path.sub(/\.html.*/, ".html") + "This document is obsolete. " + + link_to("See the latest version of this document", url) + + " if you caught an error or noticed something was missing, it may be fixed there." + end + def strip_version_from_url(url) url.scan(/v\d\.\d+\/(.*).html/)&.first&.first || url end From 6e588ed70340baae72fa6b9fe96b7236530ade96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 17 Jan 2025 08:22:15 +0100 Subject: [PATCH 3/4] Fix markdown pages editable link --- helpers/docs_helper.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/helpers/docs_helper.rb b/helpers/docs_helper.rb index e29ff3e038..dc8474bcb6 100644 --- a/helpers/docs_helper.rb +++ b/helpers/docs_helper.rb @@ -15,7 +15,11 @@ def link_to_documentation(page, version=nil) def link_to_editable_version path = current_page.file_descriptor.relative_path.to_s if path.start_with?("doc/") - path = "bundler/#{path}" + path.delete_prefix!("doc/") + path.prepend("doc/bundler/") + dirname = File.dirname(path) + basename = File.basename(path, ".html.md").upcase + path = File.join(dirname, "#{basename}.md") link_to_source("rubygems/rubygems", path) elsif %r{\A(?v\d+\.\d+)/man/(?(bundle[_-]|gemfile)[^/]*)\.html} =~ path if version == current_version From 054fa2ce2d2b6a872c90dad0e101dc7bd9301913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Fri, 17 Jan 2025 08:35:40 +0100 Subject: [PATCH 4/4] Fix edition links for pages starting with `man/` --- helpers/docs_helper.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/helpers/docs_helper.rb b/helpers/docs_helper.rb index dc8474bcb6..7c681821d3 100644 --- a/helpers/docs_helper.rb +++ b/helpers/docs_helper.rb @@ -21,6 +21,9 @@ def link_to_editable_version basename = File.basename(path, ".html.md").upcase path = File.join(dirname, "#{basename}.md") link_to_source("rubygems/rubygems", path) + elsif %r{\Aman/(?(bundle[_-]|gemfile)[^/]*)\.html} =~ path + path = "bundler/lib/bundler/man/#{filename}.ronn" + link_to_source("rubygems/rubygems", path) elsif %r{\A(?v\d+\.\d+)/man/(?(bundle[_-]|gemfile)[^/]*)\.html} =~ path if version == current_version path = "bundler/lib/bundler/man/#{filename}.ronn"