From 20ab7bb7049df44f3e5a76214cb088b8d40b423c Mon Sep 17 00:00:00 2001
From: Marcel Amirault <mamirault@gitlab.com>
Date: Fri, 20 Sep 2024 11:50:41 +0000
Subject: [PATCH] Update UI docs links in assorted files

Update UI docs links to use .md extension.

Changelog: changed
---
 app/views/admin/applications/index.html.haml       |  2 +-
 .../admin/background_migrations/index.html.haml    |  2 +-
 app/views/admin/dashboard/index.html.haml          | 10 +++++-----
 app/views/admin/dev_ops_report/_score.html.haml    |  2 +-
 app/views/admin/groups/_form.html.haml             |  2 +-
 app/views/admin/groups/show.html.haml              |  4 ++--
 app/views/admin/health_check/show.html.haml        |  2 +-
 app/views/admin/projects/show.html.haml            |  4 ++--
 app/views/admin/topics/_form.html.haml             |  2 +-
 .../clusters/agents/dashboard/index.html.haml      |  2 +-
 .../clusters/clusters/_advanced_settings.html.haml |  2 +-
 .../clusters/clusters/_deprecation_alert.html.haml |  2 +-
 .../clusters/_multiple_clusters_message.html.haml  |  2 +-
 app/views/clusters/clusters/_namespace.html.haml   |  2 +-
 .../clusters/_provider_details_form.html.haml      |  4 ++--
 .../_cloud_provider_selector.html.haml             |  6 +++---
 app/views/clusters/clusters/show.html.haml         |  8 ++++----
 app/views/clusters/clusters/user/_form.html.haml   |  8 ++++----
 app/views/dashboard/todos/index.html.haml          |  2 +-
 app/views/explore/groups/index.html.haml           |  2 +-
 app/views/import/bulk_imports/history.html.haml    |  2 +-
 app/views/import/github/new.html.haml              |  2 +-
 app/views/import/manifest/_form.html.haml          |  2 +-
 .../import/source_users/_accept_invite.html.haml   |  2 +-
 .../import/source_users/_invalid_invite.html.haml  |  2 +-
 .../import/source_users/_reject_invite.html.haml   |  2 +-
 app/views/import/source_users/show.html.haml       |  2 +-
 app/views/profiles/accounts/show.html.haml         |  4 ++--
 .../notifications/_group_settings.html.haml        |  2 +-
 .../notifications/_project_settings.html.haml      |  2 +-
 app/views/profiles/notifications/show.html.haml    |  2 +-
 app/views/profiles/preferences/show.html.haml      | 14 +++++++-------
 .../protected_branches/shared/_index.html.haml     |  6 +++---
 app/views/user_settings/gpg_keys/index.html.haml   |  2 +-
 .../profiles/_email_settings.html.haml             |  2 +-
 .../profiles/_private_profile.html.haml            |  2 +-
 app/views/user_settings/ssh_keys/index.html.haml   |  2 +-
 app/views/users/_deletion_guidance.html.haml       |  2 +-
 .../admin/ai/terms_and_conditions/index.html.haml  |  2 +-
 .../admin/dashboard/_billable_users_row.html.haml  |  2 +-
 .../admin/dashboard/_elastic_and_geo.html.haml     |  4 ++--
 ee/app/views/admin/licenses/_breakdown.html.haml   |  2 +-
 .../push_rules/_merge_request_approvals.html.haml  |  4 ++--
 .../_merge_request_approvals_fields.html.haml      |  2 +-
 .../layouts/header/_seat_count_alert.html.haml     |  2 +-
 .../namespaces/_shared_runner_status.html.haml     |  2 +-
 .../_shared_runners_minutes_setting.html.haml      |  2 +-
 ..._suggestions_settings_self_assignment.html.haml |  2 +-
 .../profiles/preferences/_zoekt_settings.html.haml |  2 +-
 .../ee/_create_protected_branch.html.haml          |  2 +-
 .../ee/_protected_branch.html.haml                 |  2 +-
 .../ee/_protected_branch_access_summary.html.haml  |  2 +-
 ee/app/views/search/results/_error.html.haml       |  2 +-
 .../users/available_group_templates.html.haml      |  2 +-
 .../users/available_project_templates.html.haml    |  2 +-
 .../features/search/elastic/project_search_spec.rb |  2 +-
 .../terms_and_conditions/index.html.haml_spec.rb   |  2 +-
 .../user_settings/profiles/show.html.haml_spec.rb  |  2 +-
 .../admin/admin_sees_background_migrations_spec.rb |  2 +-
 .../user_settings/profiles/show.html.haml_spec.rb  |  4 ++--
 60 files changed, 87 insertions(+), 87 deletions(-)

diff --git a/app/views/admin/applications/index.html.haml b/app/views/admin/applications/index.html.haml
index 1302a50adf059..5fcb3dfb526aa 100644
--- a/app/views/admin/applications/index.html.haml
+++ b/app/views/admin/applications/index.html.haml
@@ -21,7 +21,7 @@
     count: @applications.size,
     options: { class: 'gl-mt-5', data: { testid: 'oauth-applications' } }) do |c|
     - c.with_description do
-      - docs_link_path = help_page_path('integration/oauth_provider')
+      - docs_link_path = help_page_path('integration/oauth_provider.md')
       - docs_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer nofollow">'.html_safe % { url: docs_link_path }
       = s_('AdminArea|Manage applications for your instance that can use GitLab as an %{docs_link_start}OAuth provider%{docs_link_end}.').html_safe % { docs_link_start: docs_link_start, docs_link_end: '</a>'.html_safe }
     - c.with_actions do
diff --git a/app/views/admin/background_migrations/index.html.haml b/app/views/admin/background_migrations/index.html.haml
index a287a7d08a93d..e0df7de13b464 100644
--- a/app/views/admin/background_migrations/index.html.haml
+++ b/app/views/admin/background_migrations/index.html.haml
@@ -1,6 +1,6 @@
 - page_title s_('BackgroundMigrations|Background migrations')
 - @breadcrumb_link = admin_background_migrations_path(database: params[:database])
-- learnmore_link = help_page_path('update/background_migrations')
+- learnmore_link = help_page_path('update/background_migrations.md')
 - learnmore_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: learnmore_link }
 - page_description = html_escape(s_('BackgroundMigrations|Background migrations are used to perform data migrations when a migration exceeds the time limits set by GitLab. %{linkStart}Learn more%{linkEnd}')) % { linkStart: learnmore_link_start, linkEnd: '</a>'.html_safe }
 
diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml
index 35b34db9ca79e..930ee2aedc4c7 100644
--- a/app/views/admin/dashboard/index.html.haml
+++ b/app/views/admin/dashboard/index.html.haml
@@ -1,6 +1,6 @@
 - breadcrumb_title _("Dashboard")
 - page_title _("Dashboard")
-- billable_users_url = help_page_path('subscriptions/self_managed/index', anchor: 'billable-users')
+- billable_users_url = help_page_path('subscriptions/self_managed/index.md', anchor: 'billable-users')
 - billable_users_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer nofollow">'.html_safe % { url: billable_users_url }
 
 = render_if_exists 'shared/manual_quarterly_reconciliation_banner'
@@ -87,7 +87,7 @@
 
           = feature_entry(_('LDAP'),
             enabled: Gitlab.config.ldap.enabled,
-            doc_href: help_page_path('administration/auth/ldap/index'))
+            doc_href: help_page_path('administration/auth/ldap/index.md'))
 
           = feature_entry(_('Gravatar'),
             href: general_admin_application_settings_path(anchor: 'js-account-settings'),
@@ -96,18 +96,18 @@
           = feature_entry(_('OmniAuth'),
             href: general_admin_application_settings_path(anchor: 'js-signin-settings'),
             enabled: Gitlab::Auth.omniauth_enabled?,
-            doc_href: help_page_path('integration/omniauth'))
+            doc_href: help_page_path('integration/omniauth.md'))
 
           = feature_entry(_('Reply by email'),
             enabled: Gitlab::Email::IncomingEmail.enabled?,
-            doc_href: help_page_path('administration/reply_by_email'))
+            doc_href: help_page_path('administration/reply_by_email.md'))
 
           = render_if_exists 'admin/dashboard/elastic_and_geo'
 
           = feature_entry(_('Container Registry'),
             href: ci_cd_admin_application_settings_path(anchor: 'js-registry-settings'),
             enabled: Gitlab.config.registry.enabled,
-            doc_href: help_page_path('user/packages/container_registry/index'))
+            doc_href: help_page_path('user/packages/container_registry/index.md'))
 
           = feature_entry(_('GitLab Pages'),
             enabled: Gitlab.config.pages.enabled,
diff --git a/app/views/admin/dev_ops_report/_score.html.haml b/app/views/admin/dev_ops_report/_score.html.haml
index 86065acc5273f..534bfa92cad08 100644
--- a/app/views/admin/dev_ops_report/_score.html.haml
+++ b/app/views/admin/dev_ops_report/_score.html.haml
@@ -1,6 +1,6 @@
 - service_ping_enabled = Gitlab::CurrentSettings.usage_ping_enabled
 
 - if !service_ping_enabled
-  #js-devops-service-ping-disabled{ data: { is_admin: current_user&.admin.to_s, empty_state_svg_path: image_path('illustrations/empty-state/empty-devops-md.svg'), enable_service_ping_path: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), docs_link: help_page_path('development/internal_analytics/service_ping/index') } }
+  #js-devops-service-ping-disabled{ data: { is_admin: current_user&.admin.to_s, empty_state_svg_path: image_path('illustrations/empty-state/empty-devops-md.svg'), enable_service_ping_path: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), docs_link: help_page_path('development/internal_analytics/service_ping/index.md') } }
 - else
   #js-devops-score{ data: { devops_score_metrics: devops_score_metrics(@metric).to_json, no_data_image_path: image_path('illustrations/empty-state/empty-devops-md.svg'), devops_score_intro_image_path: image_path('illustrations/chart-bar-sm.svg') } }
diff --git a/app/views/admin/groups/_form.html.haml b/app/views/admin/groups/_form.html.haml
index f2432bf133349..5af731a4cab69 100644
--- a/app/views/admin/groups/_form.html.haml
+++ b/app/views/admin/groups/_form.html.haml
@@ -4,7 +4,7 @@
     - c.with_title { _('Naming, visibility') }
     - c.with_description do
       = _('Update your group name, description, avatar, and visibility.')
-      = link_to _('Learn more about groups.'), help_page_path('user/group/index')
+      = link_to _('Learn more about groups.'), help_page_path('user/group/index.md')
     - c.with_body do
       = render 'shared/groups/group_name_and_path_fields', f: f
       = render 'shared/group_form_description', f: f
diff --git a/app/views/admin/groups/show.html.haml b/app/views/admin/groups/show.html.haml
index 4cfde7124fc79..7b8839720d0d9 100644
--- a/app/views/admin/groups/show.html.haml
+++ b/app/views/admin/groups/show.html.haml
@@ -50,7 +50,7 @@
             .gl-col-span-2
               %strong
                 = group_lfs_status(@group)
-                = link_to sprite_icon('question-o', css_class: 'gl-text-blue-600'), help_page_path('topics/git/lfs/index')
+                = link_to sprite_icon('question-o', css_class: 'gl-text-blue-600'), help_page_path('topics/git/lfs/index.md')
           = render_if_exists 'namespaces/shared_runner_status', namespace: @group
           = render_if_exists 'namespaces/additional_minutes_status', namespace: @group
 
@@ -98,7 +98,7 @@
       icon: 'user',
       count: @group.users_count) do |c|
       - c.with_description do
-        - direct_members_link = link_to('', help_page_path('user/project/members/index', anchor: 'membership-types'))
+        - direct_members_link = link_to('', help_page_path('user/project/members/index.md', anchor: 'membership-types'))
         - direct_members_message = s_('The number of direct members in the current group. Members in subgroups are not included. %{link_start}What is a direct member%{link_end}?')
         - if @group.root?
           = safe_format(direct_members_message, tag_pair(direct_members_link, :link_start, :link_end))
diff --git a/app/views/admin/health_check/show.html.haml b/app/views/admin/health_check/show.html.haml
index 0a72141c268d0..01af6bc9b948d 100644
--- a/app/views/admin/health_check/show.html.haml
+++ b/app/views/admin/health_check/show.html.haml
@@ -13,7 +13,7 @@
       = _("Reset token")
 
 
-- help_url = help_page_path('administration/monitoring/health_check')
+- help_url = help_page_path('administration/monitoring/health_check.md')
 - help_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_url }
 %p.gl-mb-1= html_escape(s_('HealthCheck|Health information can be retrieved from the following endpoints. More information is available in the %{linkStart}health check documentation%{linkEnd}.')) % { linkStart: help_start, linkEnd: '</a>'.html_safe }
 %ul.gl-mb-6
diff --git a/app/views/admin/projects/show.html.haml b/app/views/admin/projects/show.html.haml
index 76e6cf568891a..d4e65aa566dc0 100644
--- a/app/views/admin/projects/show.html.haml
+++ b/app/views/admin/projects/show.html.haml
@@ -106,7 +106,7 @@
                 = _('Git LFS status:')
               %strong
                 = project_lfs_status(@project)
-                = link_to sprite_icon('question-o'), help_page_path('topics/git/lfs/index')
+                = link_to sprite_icon('question-o'), help_page_path('topics/git/lfs/index.md')
           - else
             %li{ class: '!gl-px-5' }
               %span.light
@@ -160,7 +160,7 @@
             - else
               = _("This repository was last checked %{last_check_timestamp}. The check passed.") % { last_check_timestamp: @project.last_repository_check_at.to_fs(:medium) }
 
-            = link_to sprite_icon('question-o'), help_page_path('administration/repository_checks')
+            = link_to sprite_icon('question-o'), help_page_path('administration/repository_checks.md')
 
           .form-group
             = f.submit _('Trigger repository check'), pajamas_button: true
diff --git a/app/views/admin/topics/_form.html.haml b/app/views/admin/topics/_form.html.haml
index dd6583e55a663..b209c5969c0f2 100644
--- a/app/views/admin/topics/_form.html.haml
+++ b/app/views/admin/topics/_form.html.haml
@@ -19,7 +19,7 @@
   .form-group
     = f.label :description, _("Description")
     .js-markdown-editor{ data: { render_markdown_path: preview_markdown_admin_topics_path,
-                                 markdown_docs_path: help_page_path('user/markdown'),
+                                 markdown_docs_path: help_page_path('user/markdown.md'),
                                  testid: 'topic-form-description',
                                  form_field_placeholder: _('Write a description…'),
                                  supports_quick_actions: 'false',
diff --git a/app/views/clusters/agents/dashboard/index.html.haml b/app/views/clusters/agents/dashboard/index.html.haml
index 00382166469c3..4a2f066c67a46 100644
--- a/app/views/clusters/agents/dashboard/index.html.haml
+++ b/app/views/clusters/agents/dashboard/index.html.haml
@@ -6,7 +6,7 @@
   primary_button_text: s_("KubernetesDashboard|View projects"),
   primary_button_link: dashboard_projects_path,
   secondary_button_text: s_("KubernetesDashboard|Learn more"),
-  secondary_button_link: help_page_path('ci/environments/kubernetes_dashboard')) do |c|
+  secondary_button_link: help_page_path('ci/environments/kubernetes_dashboard.md')) do |c|
 
   - c.with_description do
     = s_("KubernetesDashboard|You can select an agent from a project's environment page.")
diff --git a/app/views/clusters/clusters/_advanced_settings.html.haml b/app/views/clusters/clusters/_advanced_settings.html.haml
index 36cf4cd0abdbc..bb41b5771270e 100644
--- a/app/views/clusters/clusters/_advanced_settings.html.haml
+++ b/app/views/clusters/clusters/_advanced_settings.html.haml
@@ -30,7 +30,7 @@
           selected: @cluster.management_project_id } }
       %p.text-muted.-gl-mt-5
         = html_escape(s_('ClusterIntegration|A cluster management project can be used to run deployment jobs with Kubernetes %{code_open}cluster-admin%{code_close} privileges.')) % { code_open: '<code>'.html_safe, code_close: '</code>'.html_safe }
-        = link_to _('More information'), help_page_path('user/clusters/management_project'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('More information'), help_page_path('user/clusters/management_project.md'), target: '_blank', rel: 'noopener noreferrer'
       = field.submit _('Save changes'), pajamas_button: true
 
   .sub-section.form-group
diff --git a/app/views/clusters/clusters/_deprecation_alert.html.haml b/app/views/clusters/clusters/_deprecation_alert.html.haml
index cfc3418b1b545..4f35ba78cc612 100644
--- a/app/views/clusters/clusters/_deprecation_alert.html.haml
+++ b/app/views/clusters/clusters/_deprecation_alert.html.haml
@@ -2,6 +2,6 @@
   - c.with_body do
     - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe
     - issue_link_start = link_start % { url: 'https://gitlab.com/gitlab-org/configure/general/-/issues/199' }
-    - docs_link_start = link_start % { url: help_page_path('user/clusters/agent/index') }
+    - docs_link_start = link_start % { url: help_page_path('user/clusters/agent/index.md') }
     - link_end = '</a>'.html_safe
     = s_('ClusterIntegration|This process is %{issue_link_start}deprecated%{issue_link_end}. Use the %{docs_link_start}the GitLab agent for Kubernetes%{docs_link_end} instead.').html_safe % { docs_link_start: docs_link_start, docs_link_end: link_end, issue_link_start: issue_link_start, issue_link_end: link_end }
diff --git a/app/views/clusters/clusters/_multiple_clusters_message.html.haml b/app/views/clusters/clusters/_multiple_clusters_message.html.haml
index 013f3c317dfaa..028b0a9d6f640 100644
--- a/app/views/clusters/clusters/_multiple_clusters_message.html.haml
+++ b/app/views/clusters/clusters/_multiple_clusters_message.html.haml
@@ -1,4 +1,4 @@
-- autodevops_help_url = help_page_path('topics/autodevops/multiple_clusters_auto_devops')
+- autodevops_help_url = help_page_path('topics/autodevops/multiple_clusters_auto_devops.md')
 - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe
 - help_link_end = '</a>'.html_safe
 
diff --git a/app/views/clusters/clusters/_namespace.html.haml b/app/views/clusters/clusters/_namespace.html.haml
index 9c20a409b18a0..34576b6e5afb2 100644
--- a/app/views/clusters/clusters/_namespace.html.haml
+++ b/app/views/clusters/clusters/_namespace.html.haml
@@ -1,6 +1,6 @@
 - managed_namespace_help_text = s_('ClusterIntegration|Set a prefix for your namespaces. If not set, defaults to your project path. If modified, existing environments will use their current namespaces until the cluster cache is cleared.')
 - non_managed_namespace_help_text = s_('ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, and Web terminals.')
-- managed_namespace_help_link = link_to _('More information'), help_page_path('user/project/clusters/gitlab_managed_clusters'), target: '_blank', rel: 'noopener noreferrer'
+- managed_namespace_help_link = link_to _('More information'), help_page_path('user/project/clusters/gitlab_managed_clusters.md'), target: '_blank', rel: 'noopener noreferrer'
 
 .js-namespace-prefixed
   .form-group
diff --git a/app/views/clusters/clusters/_provider_details_form.html.haml b/app/views/clusters/clusters/_provider_details_form.html.haml
index 17a2c17c481ff..5343e2637d3d8 100644
--- a/app/views/clusters/clusters/_provider_details_form.html.haml
+++ b/app/views/clusters/clusters/_provider_details_form.html.haml
@@ -51,7 +51,7 @@
         = field.label :managed, s_('ClusterIntegration|GitLab-managed cluster'), class: 'form-check-label label-bold'
       .form-text.text-muted
         = s_('ClusterIntegration|Allow GitLab to manage namespaces and service accounts for this cluster.')
-        = link_to _('More information'), help_page_path('user/project/clusters/gitlab_managed_clusters'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('More information'), help_page_path('user/project/clusters/gitlab_managed_clusters.md'), target: '_blank', rel: 'noopener noreferrer'
 
     .form-group
       .form-check
@@ -59,7 +59,7 @@
         = field.label :namespace_per_environment, s_('ClusterIntegration|Namespace per environment'), class: 'form-check-label label-bold'
       .form-text.text-muted
         = s_('ClusterIntegration|Deploy each environment to its own namespace. Otherwise, environments within a project share a project-wide namespace. Note that anyone who can trigger a deployment of a namespace can read its secrets. If modified, existing environments will use their current namespaces until the cluster cache is cleared.')
-        = link_to _('More information'), help_page_path('user/project/clusters/deploy_to_cluster', anchor: 'custom-namespace'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('More information'), help_page_path('user/project/clusters/deploy_to_cluster.md', anchor: 'custom-namespace'), target: '_blank', rel: 'noopener noreferrer'
 
     - if cluster.allow_user_defined_namespace?
       = render('clusters/clusters/namespace', platform_field: platform_field, field: field)
diff --git a/app/views/clusters/clusters/cloud_providers/_cloud_provider_selector.html.haml b/app/views/clusters/clusters/cloud_providers/_cloud_provider_selector.html.haml
index 464e5b82bde9c..9c2ebfa58648d 100644
--- a/app/views/clusters/clusters/cloud_providers/_cloud_provider_selector.html.haml
+++ b/app/views/clusters/clusters/cloud_providers/_cloud_provider_selector.html.haml
@@ -2,9 +2,9 @@
 - eks_label = s_('ClusterIntegration|Amazon EKS')
 - civo_label = s_('ClusterIntegration|Civo Kubernetes')
 - create_cluster_label = s_('ClusterIntegration|Where do you want to create a cluster?')
-- eks_help_path = help_page_path('user/infrastructure/clusters/connect/new_eks_cluster')
-- gke_help_path = help_page_path('user/infrastructure/clusters/connect/new_gke_cluster')
-- civo_help_path = help_page_path('user/infrastructure/clusters/connect/new_civo_cluster')
+- eks_help_path = help_page_path('user/infrastructure/clusters/connect/new_eks_cluster.md')
+- gke_help_path = help_page_path('user/infrastructure/clusters/connect/new_gke_cluster.md')
+- civo_help_path = help_page_path('user/infrastructure/clusters/connect/new_civo_cluster.md')
 
 .gl-py-5.md:gl-pl-5.md:gl-pr-5
   %h4.gl-mb-5
diff --git a/app/views/clusters/clusters/show.html.haml b/app/views/clusters/clusters/show.html.haml
index b8bc2d64c1968..3fc0e8faf514d 100644
--- a/app/views/clusters/clusters/show.html.haml
+++ b/app/views/clusters/clusters/show.html.haml
@@ -12,10 +12,10 @@
   cluster_status: @cluster.status_name,
   cluster_status_reason: @cluster.status_reason,
   provider_type: @cluster.provider_type,
-  help_path: help_page_path('user/infrastructure/clusters/index'),
-  environments_help_path: help_page_path('ci/environments/index', anchor: 'create-a-static-environment'),
-  clusters_help_path: help_page_path('user/project/clusters/deploy_to_cluster'),
-  deploy_boards_help_path: help_page_path('user/project/deploy_boards', anchor: 'enabling-deploy-boards'),
+  help_path: help_page_path('user/infrastructure/clusters/index.md'),
+  environments_help_path: help_page_path('ci/environments/index.md', anchor: 'create-a-static-environment'),
+  clusters_help_path: help_page_path('user/project/clusters/deploy_to_cluster.md'),
+  deploy_boards_help_path: help_page_path('user/project/deploy_boards.md', anchor: 'enabling-deploy-boards'),
   cluster_id: @cluster.id } }
 
   .js-cluster-application-notice
diff --git a/app/views/clusters/clusters/user/_form.html.haml b/app/views/clusters/clusters/user/_form.html.haml
index 6a5acf4f50743..71fef5ec3227a 100644
--- a/app/views/clusters/clusters/user/_form.html.haml
+++ b/app/views/clusters/clusters/user/_form.html.haml
@@ -1,5 +1,5 @@
-- more_info_link = link_to _('Learn more.'), help_page_path('user/project/clusters/add_existing_cluster'), target: '_blank', rel: 'noopener noreferrer'
-- rbac_help_link = link_to _('Learn more.'), help_page_path('user/project/clusters/cluster_access'), target: '_blank', rel: 'noopener noreferrer'
+- more_info_link = link_to _('Learn more.'), help_page_path('user/project/clusters/add_existing_cluster.md'), target: '_blank', rel: 'noopener noreferrer'
+- rbac_help_link = link_to _('Learn more.'), help_page_path('user/project/clusters/cluster_access.md'), target: '_blank', rel: 'noopener noreferrer'
 
 - api_url_help_text = s_('ClusterIntegration|The URL used to access the Kubernetes API.')
 - ca_cert_help_text = s_('ClusterIntegration|The Kubernetes certificate used to authenticate to the cluster.')
@@ -58,7 +58,7 @@
       = field.label :managed, s_('ClusterIntegration|GitLab-managed cluster'), class: 'form-check-label label-bold'
     .form-text.text-muted
       = s_('ClusterIntegration|Allow GitLab to manage namespaces and service accounts for this cluster.')
-      = link_to _('Learn more.'), help_page_path('user/project/clusters/gitlab_managed_clusters'), target: '_blank', rel: 'noopener noreferrer'
+      = link_to _('Learn more.'), help_page_path('user/project/clusters/gitlab_managed_clusters.md'), target: '_blank', rel: 'noopener noreferrer'
 
   .form-group
     .form-check
@@ -66,7 +66,7 @@
       = field.label :namespace_per_environment, s_('ClusterIntegration|Namespace per environment'), class: 'form-check-label label-bold'
     .form-text.text-muted
       = s_('ClusterIntegration|Deploy each environment to its own namespace. Otherwise, environments within a project share a project-wide namespace. Note that anyone who can trigger a deployment of a namespace can read its secrets. If modified, existing environments will use their current namespaces until the cluster cache is cleared.')
-      = link_to _('Learn more.'), help_page_path('user/project/clusters/deploy_to_cluster', anchor: 'custom-namespace'), target: '_blank', rel: 'noopener noreferrer'
+      = link_to _('Learn more.'), help_page_path('user/project/clusters/deploy_to_cluster.md', anchor: 'custom-namespace'), target: '_blank', rel: 'noopener noreferrer'
 
   = field.fields_for :platform_kubernetes, @user_cluster.platform_kubernetes do |platform_kubernetes_field|
     - if @user_cluster.allow_user_defined_namespace?
diff --git a/app/views/dashboard/todos/index.html.haml b/app/views/dashboard/todos/index.html.haml
index 4bc7e7c5f29eb..445285d0ff56f 100644
--- a/app/views/dashboard/todos/index.html.haml
+++ b/app/views/dashboard/todos/index.html.haml
@@ -107,7 +107,7 @@
           %p
             = (s_("Todos|Not sure where to go next? Take a look at your %{strongStart}%{assignedIssuesLinkStart}assigned issues%{assignedIssuesLinkEnd}%{strongEnd} or %{strongStart}%{mergeRequestLinkStart}merge requests%{mergeRequestLinkEnd}%{mergeRequestLinkEnd}%{strongEnd}.") % { strongStart: '<strong>', strongEnd: '</strong>', assignedIssuesLinkStart: "<a href=\"#{issues_dashboard_path(assignee_username: current_user.username)}\">", assignedIssuesLinkEnd: '</a>', mergeRequestLinkStart: "<a href=\"#{merge_requests_dashboard_path(assignee_username: current_user.username)}\">", mergeRequestLinkEnd: '</a>' }).html_safe
           %p
-            = link_to s_("Todos| What actions create to-do items?"), help_page_path('user/todos', anchor: 'actions-that-create-to-do-items'), target: '_blank', rel: 'noopener noreferrer'
+            = link_to s_("Todos| What actions create to-do items?"), help_page_path('user/todos.md', anchor: 'actions-that-create-to-do-items'), target: '_blank', rel: 'noopener noreferrer'
 
         - elsif todos_has_filtered_results?
           %p
diff --git a/app/views/explore/groups/index.html.haml b/app/views/explore/groups/index.html.haml
index e651476594898..b18ac4163eab7 100644
--- a/app/views/explore/groups/index.html.haml
+++ b/app/views/explore/groups/index.html.haml
@@ -9,7 +9,7 @@
     %h1.page-title.gl-text-size-h-display= page_title
     %p
       = _("Below you will find all the groups that are public or internal. Contribute by requesting to join a group.")
-      #{link_to _('Learn more'), help_page_path('user/group/index', { anchor: 'view-groups' })}.
+      #{link_to _('Learn more'), help_page_path('user/group/index.md', { anchor: 'view-groups' })}.
   .page-title-controls.gl-mt-4
     - if current_user&.can_create_group?
       = render Pajamas::ButtonComponent.new(href: new_group_path, variant: :confirm) do
diff --git a/app/views/import/bulk_imports/history.html.haml b/app/views/import/bulk_imports/history.html.haml
index 13a88867d5a17..013bd816029c3 100644
--- a/app/views/import/bulk_imports/history.html.haml
+++ b/app/views/import/bulk_imports/history.html.haml
@@ -13,7 +13,7 @@
     - c.with_body do
       = pending_reassignment_presenter.body
     - c.with_actions do
-      = render Pajamas::ButtonComponent.new(variant: :default, href: help_page_path('user/project/import/index', anchor: 'placeholder-users'), button_options: { class: 'deferred-link gl-alert-action', rel: 'noreferrer noopener' }, target: '_blank') do
+      = render Pajamas::ButtonComponent.new(variant: :default, href: help_page_path('user/project/import/index.md', anchor: 'placeholder-users'), button_options: { class: 'deferred-link gl-alert-action', rel: 'noreferrer noopener' }, target: '_blank') do
         = _('Learn more')
 
 #import-history-mount-element{ data: { id: @bulk_import&.id, details_path: failures_import_bulk_import_path(':id', ':entity_id'), realtime_changes_path: realtime_changes_import_bulk_imports_path(format: :json) } }
diff --git a/app/views/import/github/new.html.haml b/app/views/import/github/new.html.haml
index 21ec14eba4952..cab4f52efeabf 100644
--- a/app/views/import/github/new.html.haml
+++ b/app/views/import/github/new.html.haml
@@ -42,7 +42,7 @@
         - else
           %li= safe_format(s_('GithubImporter|%{code_start}repo%{code_end}: Used to display a list of your public and private repositories that are available to import from.'), code_pair)
           %li= safe_format(s_('GithubImporter|%{code_start}read:org%{code_end} (optional): Used to import collaborators from GitHub repositories, or if your project has Git LFS files.'), code_pair)
-      - docs_link = link_to('', help_page_path('user/project/import/github', anchor: 'use-a-github-personal-access-token'), target: '_blank', rel: 'noopener noreferrer')
+      - docs_link = link_to('', help_page_path('user/project/import/github.md', anchor: 'use-a-github-personal-access-token'), target: '_blank', rel: 'noopener noreferrer')
       - docs_link_tag_pair = tag_pair(docs_link, :link_start, :link_end)
       = safe_format(s_('GithubImport|%{link_start}Learn more%{link_end}.'), docs_link_tag_pair)
 
diff --git a/app/views/import/manifest/_form.html.haml b/app/views/import/manifest/_form.html.haml
index a35e9ea3fcf3a..c21ed15334a11 100644
--- a/app/views/import/manifest/_form.html.haml
+++ b/app/views/import/manifest/_form.html.haml
@@ -19,7 +19,7 @@
     = file_field_tag :manifest, class: 'form-control-file w-auto', required: true
     .form-text.text-muted
       = _('Import multiple repositories by uploading a manifest file.')
-      = link_to sprite_icon('question-o'), help_page_path('user/project/import/manifest')
+      = link_to sprite_icon('question-o'), help_page_path('user/project/import/manifest.md')
 
   .gl-mb-3
     = render Pajamas::ButtonComponent.new(type: :submit, variant: :confirm) do
diff --git a/app/views/import/source_users/_accept_invite.html.haml b/app/views/import/source_users/_accept_invite.html.haml
index cbeed62f48196..8f30ffb39f9fc 100644
--- a/app/views/import/source_users/_accept_invite.html.haml
+++ b/app/views/import/source_users/_accept_invite.html.haml
@@ -8,6 +8,6 @@
     destination_group: link_to(source_user.namespace.name, group_path(source_user.namespace)))
   - c.with_actions do
     = render Pajamas::ButtonComponent.new(variant: :default,
-      href: help_page_path('user/project/import/index', anchor: 'accept-contribution-reassignment'),
+      href: help_page_path('user/project/import/index.md', anchor: 'accept-contribution-reassignment'),
       button_options: { class: 'deferred-link gl-alert-action', rel: 'noreferrer noopener' }, target: '_blank') do
       = _('Learn more')
diff --git a/app/views/import/source_users/_invalid_invite.html.haml b/app/views/import/source_users/_invalid_invite.html.haml
index 1e6760fa0bd1f..11af2a04bfa8f 100644
--- a/app/views/import/source_users/_invalid_invite.html.haml
+++ b/app/views/import/source_users/_invalid_invite.html.haml
@@ -3,6 +3,6 @@
     = s_('UserMapping|You might have already accepted or rejected the reassignment, or it might have been canceled by the group owner.')
   - c.with_actions do
     = render Pajamas::ButtonComponent.new(variant: :default,
-      href: help_page_path('user/project/import/index', anchor: 'accept-contribution-reassignment'),
+      href: help_page_path('user/project/import/index.md', anchor: 'accept-contribution-reassignment'),
       button_options: { class: 'deferred-link gl-alert-action', rel: 'noreferrer noopener' }, target: '_blank') do
       = _('Learn more')
diff --git a/app/views/import/source_users/_reject_invite.html.haml b/app/views/import/source_users/_reject_invite.html.haml
index 34eef3870327c..e47d10b7948f5 100644
--- a/app/views/import/source_users/_reject_invite.html.haml
+++ b/app/views/import/source_users/_reject_invite.html.haml
@@ -8,6 +8,6 @@
     destination_group: source_user.namespace.name)
   - c.with_actions do
     = render Pajamas::ButtonComponent.new(variant: :default,
-      href: help_page_path('user/project/import/index', anchor: 'accept-contribution-reassignment'),
+      href: help_page_path('user/project/import/index.md', anchor: 'accept-contribution-reassignment'),
       button_options: { class: 'deferred-link gl-alert-action', rel: 'noreferrer noopener' }, target: '_blank') do
       = _('Learn more')
diff --git a/app/views/import/source_users/show.html.haml b/app/views/import/source_users/show.html.haml
index 430466d1493fc..56e165e35540b 100644
--- a/app/views/import/source_users/show.html.haml
+++ b/app/views/import/source_users/show.html.haml
@@ -27,7 +27,7 @@
           source_hostname: source_hostname,
           destination_group: destination_group)
         = succeed '.' do
-          = link_to s_('UserMapping|Learn more about reassignments'), help_page_path('user/project/import/index', anchor: 'accept-contribution-reassignment')
+          = link_to s_('UserMapping|Learn more about reassignments'), help_page_path('user/project/import/index.md', anchor: 'accept-contribution-reassignment')
       %h5
         = s_('UserMapping|Import details:')
       %p.gl-mb-5
diff --git a/app/views/profiles/accounts/show.html.haml b/app/views/profiles/accounts/show.html.haml
index b04781ecad6df..f6093604bac99 100644
--- a/app/views/profiles/accounts/show.html.haml
+++ b/app/views/profiles/accounts/show.html.haml
@@ -13,7 +13,7 @@
     alert_options: { class: 'gl-my-5' },
     close_button_options: { class: 'js-close-2fa-enabled-success-alert' }) do |c|
     - c.with_body do
-      = html_escape(_('You have set up 2FA for your account! If you lose access to your 2FA device, you can use your recovery codes to access your account. Alternatively, if you upload an SSH key, you can %{anchorOpen}use that key to generate additional recovery codes%{anchorClose}.')) % { anchorOpen: '<a href="%{href}">'.html_safe % { href: help_page_path('user/profile/account/two_factor_authentication_troubleshooting', anchor: 'generate-new-recovery-codes-using-ssh') }, anchorClose: '</a>'.html_safe }
+      = html_escape(_('You have set up 2FA for your account! If you lose access to your 2FA device, you can use your recovery codes to access your account. Alternatively, if you upload an SSH key, you can %{anchorOpen}use that key to generate additional recovery codes%{anchorClose}.')) % { anchorOpen: '<a href="%{href}">'.html_safe % { href: help_page_path('user/profile/account/two_factor_authentication_troubleshooting.md', anchor: 'generate-new-recovery-codes-using-ssh') }, anchorClose: '</a>'.html_safe }
 
 .settings-section.js-search-settings-section
   .settings-sticky-header
@@ -53,7 +53,7 @@
     %p.gl-text-secondary
       = s_('Profiles|Changing your username can have unintended side effects.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/index', anchor: 'change-your-username'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/index.md', anchor: 'change-your-username'), target: '_blank', rel: 'noopener noreferrer'
     - data = { initial_username: current_user.username, root_url: root_url, action_url: update_username_profile_path(format: :json) }
     #update-username{ data: data }
 
diff --git a/app/views/profiles/notifications/_group_settings.html.haml b/app/views/profiles/notifications/_group_settings.html.haml
index 0afc3ae473bb1..c7e382ddef7dd 100644
--- a/app/views/profiles/notifications/_group_settings.html.haml
+++ b/app/views/profiles/notifications/_group_settings.html.haml
@@ -11,6 +11,6 @@
 
     .gl-flex.gl-gap-3.gl-flex-wrap
       - if setting
-        .js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(setting).to_json, notification_level: setting.level, help_page_path: help_page_path('user/profile/notifications'), group_id: group.id, show_label: "true" } }
+        .js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(setting).to_json, notification_level: setting.level, help_page_path: help_page_path('user/profile/notifications.md'), group_id: group.id, show_label: "true" } }
       = form_for setting, url: profile_group_notifications_path(group), method: :put, html: { class: 'update-notifications gl-flex' } do |f|
         .js-notification-email-listbox-input{ data: {  name: 'notification_setting[notification_email]', emails: @user.public_verified_emails.to_json, empty_value_text: _('Global notification email') , value: setting.notification_email, placement: 'bottom-end' } }
diff --git a/app/views/profiles/notifications/_project_settings.html.haml b/app/views/profiles/notifications/_project_settings.html.haml
index 109f68f15e2a5..c067037dda437 100644
--- a/app/views/profiles/notifications/_project_settings.html.haml
+++ b/app/views/profiles/notifications/_project_settings.html.haml
@@ -11,4 +11,4 @@
 
     .gl-flex.gl-gap-3.gl-flex-wrap
       - if setting
-        .js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(setting).to_json, notification_level: setting.level, help_page_path: help_page_path('user/profile/notifications'), project_id: project.id, container_class: 'gl-mr-3', show_label: "true" } }
+        .js-vue-notification-dropdown{ data: { disabled: emails_disabled.to_s, dropdown_items: notification_dropdown_items(setting).to_json, notification_level: setting.level, help_page_path: help_page_path('user/profile/notifications.md'), project_id: project.id, container_class: 'gl-mr-3', show_label: "true" } }
diff --git a/app/views/profiles/notifications/show.html.haml b/app/views/profiles/notifications/show.html.haml
index c1fd04a33a35f..89765e46aaa27 100644
--- a/app/views/profiles/notifications/show.html.haml
+++ b/app/views/profiles/notifications/show.html.haml
@@ -25,7 +25,7 @@
 
       .form-group.global-notification-setting.gl-mb-3
         - if @global_notification_setting
-          .js-vue-notification-dropdown{ data: { dropdown_items: notification_dropdown_items(@global_notification_setting).to_json, notification_level: @global_notification_setting.level, help_page_path: help_page_path('user/profile/notifications'), show_label: 'true' } }
+          .js-vue-notification-dropdown{ data: { dropdown_items: notification_dropdown_items(@global_notification_setting).to_json, notification_level: @global_notification_setting.level, help_page_path: help_page_path('user/profile/notifications.md'), show_label: 'true' } }
 
       = gitlab_ui_form_for @user, url: profile_notifications_path, method: :put do |f|
         .form-group
diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml
index 970af9e321a82..f5daacd4244e9 100644
--- a/app/views/profiles/preferences/show.html.haml
+++ b/app/views/profiles/preferences/show.html.haml
@@ -49,7 +49,7 @@
     %p.gl-text-secondary
       = s_('Preferences|Customize the appearance of the syntax.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'change-the-syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'change-the-syntax-highlighting-theme'), target: '_blank', rel: 'noopener noreferrer'
     .syntax-theme.row
       - Gitlab::ColorSchemes.each do |scheme|
         %label.col-6.col-sm-4.col-md-3.col-lg-auto.gl-mb-5
@@ -76,11 +76,11 @@
     %p.gl-text-secondary
       = s_('Preferences|Customize the behavior of the system layout and default views.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'behavior'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'behavior'), target: '_blank', rel: 'noopener noreferrer'
     .form-group
       = f.label :layout, class: 'label-bold' do
         = s_('Preferences|Keyboard shortcuts')
-      - shortcuts_help_link = link_to('', help_page_path('user/shortcuts'), target: '_blank', rel: 'noopener noreferrer')
+      - shortcuts_help_link = link_to('', help_page_path('user/shortcuts.md'), target: '_blank', rel: 'noopener noreferrer')
       = f.gitlab_ui_checkbox_component :keyboard_shortcuts_enabled,
         s_('Preferences|Enable keyboard shortcuts'),
         help_text: safe_format(s_('Preferences|%{link_start}List of keyboard shortcuts%{link_end}'), tag_pair(shortcuts_help_link, :link_start, :link_end))
@@ -141,11 +141,11 @@
     %p.gl-text-secondary
       = _('Customize language and region related settings.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'localization'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'localization'), target: '_blank', rel: 'noopener noreferrer'
 
     .js-listbox-input{ data: { label: _('Language'), description: s_('Preferences|This feature is experimental and translations are not yet complete.'), name: 'user[preferred_language]', items: language_choices.to_json, value: current_user.preferred_language, block: true.to_s, toggle_class: 'gl-form-input-xl' } }
     %p.-gl-mt-5
-      = link_to help_page_url('development/i18n/translation'), class: 'text-nowrap', target: '_blank', rel: 'noopener noreferrer' do
+      = link_to help_page_url('development/i18n/translation.md'), class: 'text-nowrap', target: '_blank', rel: 'noopener noreferrer' do
         = _("Help translate GitLab into your language")
         %span{ aria: { label: _('Open new window') } }
           = sprite_icon('external-link')
@@ -162,7 +162,7 @@
     %p.gl-text-secondary
       = s_('Preferences|Configure how dates and times display for you.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'show-exact-times-instead-of-relative-times'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/preferences.md', anchor: 'show-exact-times-instead-of-relative-times'), target: '_blank', rel: 'noopener noreferrer'
     .form-group
       = f.gitlab_ui_checkbox_component :time_display_relative,
         s_('Preferences|Use relative times'),
@@ -181,7 +181,7 @@
     %p.gl-text-secondary
       = s_('Preferences|Turns on or off the ability to follow or be followed by other users.')
       = succeed '.' do
-        = link_to _('Learn more'), help_page_path('user/profile/index', anchor: 'follow-users'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to _('Learn more'), help_page_path('user/profile/index.md', anchor: 'follow-users'), target: '_blank', rel: 'noopener noreferrer'
     .form-group
       = f.gitlab_ui_checkbox_component :enabled_following,
       s_('Preferences|Enable follow users')
diff --git a/app/views/protected_branches/shared/_index.html.haml b/app/views/protected_branches/shared/_index.html.haml
index ad62bc2977c76..7b6e43bc82ca0 100644
--- a/app/views/protected_branches/shared/_index.html.haml
+++ b/app/views/protected_branches/shared/_index.html.haml
@@ -7,7 +7,7 @@
   expanded: expanded) do |c|
   - c.with_description do
     = s_("ProtectedBranch|Keep stable branches secure and force developers to use merge requests.")
-    = link_to s_("ProtectedBranch|What are protected branches?"), help_page_path("user/project/repository/branches/protected")
+    = link_to s_("ProtectedBranch|What are protected branches?"), help_page_path("user/project/repository/branches/protected.md")
   - c.with_body do
     .js-alert-protected-branch-created-container.gl-mt-5
 
@@ -16,7 +16,7 @@
       dismissible: false) do |c|
       - c.with_body do
         =  s_("ProtectedBranch|Giving merge rights to a protected branch also gives elevated permissions for certain CI/CD features.")
-        = link_to s_("ProtectedBranch|What are the security implications?"), help_page_path('ci/pipelines/index', anchor: 'pipeline-security-on-protected-branches'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to s_("ProtectedBranch|What are the security implications?"), help_page_path('ci/pipelines/index.md', anchor: 'pipeline-security-on-protected-branches'), target: '_blank', rel: 'noopener noreferrer'
 
     = render ::Layouts::CrudComponent.new(s_("ProtectedBranch|Protected branches"),
       icon: 'branch',
@@ -25,7 +25,7 @@
       toggle_options: { data: { testid: 'add-protected-branch-button' } }) do |c|
       - c.with_description do
         = s_("ProtectedBranch|By default, protected branches restrict who can modify the branch.")
-        = link_to s_("ProtectedBranch|Learn more."), help_page_path("user/project/repository/branches/protected", anchor: "who-can-modify-a-protected-branch")
+        = link_to s_("ProtectedBranch|Learn more."), help_page_path("user/project/repository/branches/protected.md", anchor: "who-can-modify-a-protected-branch")
       - c.with_body do
         = content_for :branches_list
 
diff --git a/app/views/user_settings/gpg_keys/index.html.haml b/app/views/user_settings/gpg_keys/index.html.haml
index 93417526f2a76..31814e3178304 100644
--- a/app/views/user_settings/gpg_keys/index.html.haml
+++ b/app/views/user_settings/gpg_keys/index.html.haml
@@ -18,7 +18,7 @@
         %h4.gl-mt-0
           = _('Add a GPG key')
         %p
-          - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/repository/signed_commits/gpg') }
+          - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/repository/signed_commits/gpg.md') }
           = _('Add a GPG key for secure access to GitLab. %{help_link_start}Learn more%{help_link_end}.').html_safe % {help_link_start: help_link_start, help_link_end: '</a>'.html_safe }
         = render 'form'
 
diff --git a/app/views/user_settings/profiles/_email_settings.html.haml b/app/views/user_settings/profiles/_email_settings.html.haml
index e7d3146a2faf5..b05d58bc46839 100644
--- a/app/views/user_settings/profiles/_email_settings.html.haml
+++ b/app/views/user_settings/profiles/_email_settings.html.haml
@@ -25,7 +25,7 @@
     = s_("Profiles|This email will be displayed on your public profile.")
 
 .form-group.gl-form-group
-  - commit_email_link_url = help_page_path('user/profile/index', anchor: 'use-an-automatically-generated-private-commit-email')
+  - commit_email_link_url = help_page_path('user/profile/index.md', anchor: 'use-an-automatically-generated-private-commit-email')
   - commit_email_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: commit_email_link_url }
   - commit_email_docs_link = s_('Profiles|This email is used for web-based operations, such as edits and merges. %{commit_email_link_start}What is a private commit email?%{commit_email_link_end}').html_safe % { commit_email_link_start: commit_email_link_start, commit_email_link_end: '</a>'.html_safe }
   = form.label :commit_email, s_('Profiles|Commit email')
diff --git a/app/views/user_settings/profiles/_private_profile.html.haml b/app/views/user_settings/profiles/_private_profile.html.haml
index b5e4f9b3dc244..ce0220f64a70f 100644
--- a/app/views/user_settings/profiles/_private_profile.html.haml
+++ b/app/views/user_settings/profiles/_private_profile.html.haml
@@ -1,6 +1,6 @@
 - form = local_assigns.fetch(:form)
 
-- private_profile_help_link = link_to _("What information is hidden?"), help_page_path('user/profile/index', anchor: 'make-your-user-profile-page-private')
+- private_profile_help_link = link_to _("What information is hidden?"), help_page_path('user/profile/index.md', anchor: 'make-your-user-profile-page-private')
 - private_profile_label = safe_format(s_("Profiles|Don't display activity-related personal information on your profile. %{private_profile_help_link_start}What information is hidden?%{private_profile_help_link_end}"), tag_pair(private_profile_help_link, :private_profile_help_link_start, :private_profile_help_link_end))
 
 = form.gitlab_ui_checkbox_component :private_profile, private_profile_label
diff --git a/app/views/user_settings/ssh_keys/index.html.haml b/app/views/user_settings/ssh_keys/index.html.haml
index af4886e0513ed..3391b02196424 100644
--- a/app/views/user_settings/ssh_keys/index.html.haml
+++ b/app/views/user_settings/ssh_keys/index.html.haml
@@ -20,7 +20,7 @@
         %h4.gl-mt-0
           = _('Add an SSH key')
         %p
-          - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/ssh') }
+          - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/ssh.md') }
           = _('Add an SSH key for secure access to GitLab. %{help_link_start}Learn more%{help_link_end}.').html_safe % {help_link_start: help_link_start, help_link_end: '</a>'.html_safe }
         = render 'form'
 
diff --git a/app/views/users/_deletion_guidance.html.haml b/app/views/users/_deletion_guidance.html.haml
index 64b4a8e1ae20a..cdae57503999b 100644
--- a/app/views/users/_deletion_guidance.html.haml
+++ b/app/views/users/_deletion_guidance.html.haml
@@ -3,7 +3,7 @@
 %ul
   %li
     %p
-      - link = link_to('', help_page_path("user/profile/account/delete_account", anchor: "associated-records"))
+      - link = link_to('', help_page_path("user/profile/account/delete_account.md", anchor: "associated-records"))
       = safe_format(_('Certain user content will be moved to a system-wide "Ghost User" in order to maintain content for posterity. For further information, please refer to the %{link_start}user account deletion documentation.%{link_end}'), tag_pair(link, :link_start, :link_end))
   - personal_projects_count = user.personal_projects.count
   - unless personal_projects_count == 0
diff --git a/ee/app/views/admin/ai/terms_and_conditions/index.html.haml b/ee/app/views/admin/ai/terms_and_conditions/index.html.haml
index 863fd82fcc747..f44f15f65973d 100644
--- a/ee/app/views/admin/ai/terms_and_conditions/index.html.haml
+++ b/ee/app/views/admin/ai/terms_and_conditions/index.html.haml
@@ -6,7 +6,7 @@
 
 %p.gl-text-secondary
   = s_('AdminSelfHostedModels|Self-hosted models are an experimental feature.')
-  = link_to _('Learn more.'), help_page_path('administration/self_hosted_models/install_infrastructure')
+  = link_to _('Learn more.'), help_page_path('administration/self_hosted_models/install_infrastructure.md')
 
 = render Pajamas::ButtonComponent.new(variant: :confirm, href: admin_ai_terms_and_conditions_url, method: :post) do
   = s_('AdminSelfHostedModels|Enable self-hosted models')
diff --git a/ee/app/views/admin/dashboard/_billable_users_row.html.haml b/ee/app/views/admin/dashboard/_billable_users_row.html.haml
index b94be39b306b3..9e5f042790c24 100644
--- a/ee/app/views/admin/dashboard/_billable_users_row.html.haml
+++ b/ee/app/views/admin/dashboard/_billable_users_row.html.haml
@@ -1,4 +1,4 @@
-- billable_users_url = help_page_path('subscriptions/self_managed/index', anchor: 'billable-users')
+- billable_users_url = help_page_path('subscriptions/self_managed/index.md', anchor: 'billable-users')
 - billable_users_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer nofollow">'.html_safe % { url: billable_users_url }
 
 %tr.gl-bg-gray-10.gl-text-gray-900
diff --git a/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml b/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml
index 4bda3302a1793..1473f14f1a383 100644
--- a/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml
+++ b/ee/app/views/admin/dashboard/_elastic_and_geo.html.haml
@@ -1,9 +1,9 @@
 = feature_entry(_('Advanced Search'),
   href: advanced_search_admin_application_settings_path(anchor: 'js-elasticsearch-settings'),
-  doc_href: help_page_path('integration/advanced_search/elasticsearch'),
+  doc_href: help_page_path('integration/advanced_search/elasticsearch.md'),
   enabled: Gitlab::CurrentSettings.elasticsearch_search?)
 
 = feature_entry(_('Geo'),
   href: admin_geo_nodes_path,
-  doc_href: help_page_path('administration/geo/index'),
+  doc_href: help_page_path('administration/geo/index.md'),
   enabled: Gitlab::Geo.enabled?)
diff --git a/ee/app/views/admin/licenses/_breakdown.html.haml b/ee/app/views/admin/licenses/_breakdown.html.haml
index ed0d37daa7bd4..f1b9895553fe1 100644
--- a/ee/app/views/admin/licenses/_breakdown.html.haml
+++ b/ee/app/views/admin/licenses/_breakdown.html.haml
@@ -1,5 +1,5 @@
 - true_up_link = link_to('', 'https://about.gitlab.com/pricing/licensing-faq/')
-- billable_users_link = link_to('', help_page_path('subscriptions/self_managed/index', anchor: 'billable-users'), target: '_blank', rel: 'noopener noreferrer nofollow')
+- billable_users_link = link_to('', help_page_path('subscriptions/self_managed/index.md', anchor: 'billable-users'), target: '_blank', rel: 'noopener noreferrer nofollow')
 - billable_users_updated_string = s_("AdminArea|Updated %{last_update_time}") % { last_update_time: @license.daily_billable_users_updated_time }
 
 .gl-grid.sm:gl-grid-cols-2.gl-gap-5.gl-mb-6
diff --git a/ee/app/views/admin/push_rules/_merge_request_approvals.html.haml b/ee/app/views/admin/push_rules/_merge_request_approvals.html.haml
index aa0c046aae158..46677f06a5772 100644
--- a/ee/app/views/admin/push_rules/_merge_request_approvals.html.haml
+++ b/ee/app/views/admin/push_rules/_merge_request_approvals.html.haml
@@ -5,9 +5,9 @@
   testid: 'merge-request-approval-settings',
   expanded: expanded_by_default?) do |c|
   - c.with_description do
-    - link = link_to('', help_page_path('user/compliance/compliance_center/compliance_violations_report', anchor: 'separation-of-duties'), target: '_blank', rel: 'noopener noreferrer')
+    - link = link_to('', help_page_path('user/compliance/compliance_center/compliance_violations_report.md', anchor: 'separation-of-duties'), target: '_blank', rel: 'noopener noreferrer')
     = safe_format(s_('MergeRequestApprovals|Enforce %{link_start}separation of duties%{link_end} for all projects.'), tag_pair(link, :link_start, :link_end))
-    = link_to _("Learn more."), help_page_path("user/project/merge_requests/approvals/index"), target: '_blank', rel: 'noopener noreferrer'
+    = link_to _("Learn more."), help_page_path("user/project/merge_requests/approvals/index.md"), target: '_blank', rel: 'noopener noreferrer'
   - c.with_body do
     = gitlab_ui_form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-merge-request-approval-settings'), html: { class: 'fieldset-form' } do |f|
       = form_errors(@application_setting)
diff --git a/ee/app/views/admin/push_rules/_merge_request_approvals_fields.html.haml b/ee/app/views/admin/push_rules/_merge_request_approvals_fields.html.haml
index 874fef569fbe1..879fc626f6d79 100644
--- a/ee/app/views/admin/push_rules/_merge_request_approvals_fields.html.haml
+++ b/ee/app/views/admin/push_rules/_merge_request_approvals_fields.html.haml
@@ -3,7 +3,7 @@
     = _('Approval settings')
   %p
     = _("Define how approval rules are applied to merge requests.")
-    = link_to _("Learn more."), help_page_path("administration/merge_requests_approvals"), target: '_blank', rel: 'noopener noreferrer'
+    = link_to _("Learn more."), help_page_path("administration/merge_requests_approvals.md"), target: '_blank', rel: 'noopener noreferrer'
   .gl-form-checkbox-group
     = f.gitlab_ui_checkbox_component :prevent_merge_requests_author_approval,
         s_('ApprovalSettings|Prevent approval by author')
diff --git a/ee/app/views/layouts/header/_seat_count_alert.html.haml b/ee/app/views/layouts/header/_seat_count_alert.html.haml
index 7f27caf312380..92b94c4955467 100644
--- a/ee/app/views/layouts/header/_seat_count_alert.html.haml
+++ b/ee/app/views/layouts/header/_seat_count_alert.html.haml
@@ -9,6 +9,6 @@
   - c.with_body do
     = n_('Your subscription has %{remaining_seat_count} out of %{total_seat_count} seat remaining.', 'Your subscription has %{remaining_seat_count} out of %{total_seat_count} seats remaining.', total_seat_count) % { remaining_seat_count: remaining_seat_count, total_seat_count: total_seat_count }
     = _('Even if you reach the number of seats in your subscription, you can continue to add users, and GitLab will bill you for the overage.')
-    = link_to _('Learn more.'), help_page_path('subscriptions/quarterly_reconciliation'), target: '_blank', rel: 'noopener noreferrer'
+    = link_to _('Learn more.'), help_page_path('subscriptions/quarterly_reconciliation.md'), target: '_blank', rel: 'noopener noreferrer'
   - c.with_actions do
     = link_button_to _('View seat usage'), usage_quotas_path(namespace, anchor: 'seats-quota-tab'), class: 'gl-alert-action', variant: :confirm
diff --git a/ee/app/views/namespaces/_shared_runner_status.html.haml b/ee/app/views/namespaces/_shared_runner_status.html.haml
index 5093bb1af2230..440f061eaf0f9 100644
--- a/ee/app/views/namespaces/_shared_runner_status.html.haml
+++ b/ee/app/views/namespaces/_shared_runner_status.html.haml
@@ -9,4 +9,4 @@
     .gl-col-span-2
       %strong
         = ci_minutes_report(minutes_usage_presenter.monthly_minutes_report)
-        = link_to sprite_icon('question-o', css_class: 'gl-text-blue-600'), help_page_path('ci/pipelines/compute_minutes'), target: '_blank', rel: 'noopener noreferrer'
+        = link_to sprite_icon('question-o', css_class: 'gl-text-blue-600'), help_page_path('ci/pipelines/compute_minutes.md'), target: '_blank', rel: 'noopener noreferrer'
diff --git a/ee/app/views/namespaces/_shared_runners_minutes_setting.html.haml b/ee/app/views/namespaces/_shared_runners_minutes_setting.html.haml
index 1d8b757178cc9..61da92ff36493 100644
--- a/ee/app/views/namespaces/_shared_runners_minutes_setting.html.haml
+++ b/ee/app/views/namespaces/_shared_runners_minutes_setting.html.haml
@@ -7,4 +7,4 @@
   = form.number_field :shared_runners_minutes_limit, class: 'gl-form-input form-control gl-form-input-sm', min: 0
   %small.form-text.gl-text-secondary
     = s_('AdminUsers|The maximum compute minutes that jobs in this namespace can use on instance runners each month. Set 0 for unlimited. Set empty to inherit the global setting of %{minutes}') % { minutes: Gitlab::CurrentSettings.shared_runners_minutes }
-    = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/compute_minutes'), target: '_blank', rel: 'noopener noreferrer'
+    = link_to sprite_icon('question-o'), help_page_path('ci/pipelines/compute_minutes.md'), target: '_blank', rel: 'noopener noreferrer'
diff --git a/ee/app/views/profiles/preferences/_code_suggestions_settings_self_assignment.html.haml b/ee/app/views/profiles/preferences/_code_suggestions_settings_self_assignment.html.haml
index 5c3442296d78e..3bf7c2e81d0ae 100644
--- a/ee/app/views/profiles/preferences/_code_suggestions_settings_self_assignment.html.haml
+++ b/ee/app/views/profiles/preferences/_code_suggestions_settings_self_assignment.html.haml
@@ -1,6 +1,6 @@
 - return unless should_show_code_suggestions_preferences?(@user)
 
-- link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/repository/code_suggestions/index') }
+- link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/repository/code_suggestions/index.md') }
 - link_end = '</a>'.html_safe
 - br_tag = '<br/>'.html_safe
 
diff --git a/ee/app/views/profiles/preferences/_zoekt_settings.html.haml b/ee/app/views/profiles/preferences/_zoekt_settings.html.haml
index 92f9878b11d9d..e0b155fb51859 100644
--- a/ee/app/views/profiles/preferences/_zoekt_settings.html.haml
+++ b/ee/app/views/profiles/preferences/_zoekt_settings.html.haml
@@ -8,7 +8,7 @@
         = gl_badge_tag _('beta'), variant: :info
   %p.gl-text-secondary
     = s_('Preferences|Use exact code search instead of advanced search to search for code in GitLab.')
-    = link_to _('Learn more.'), help_page_path('user/profile/preferences', anchor: 'disable-exact-code-search'), target: '_blank', rel: 'noopener noreferrer'
+    = link_to _('Learn more.'), help_page_path('user/profile/preferences.md', anchor: 'disable-exact-code-search'), target: '_blank', rel: 'noopener noreferrer'
 
   .form-group
     = form.gitlab_ui_checkbox_component :enabled_zoekt,
diff --git a/ee/app/views/protected_branches/ee/_create_protected_branch.html.haml b/ee/app/views/protected_branches/ee/_create_protected_branch.html.haml
index e9612cb86e462..2e5e78c6b9996 100644
--- a/ee/app/views/protected_branches/ee/_create_protected_branch.html.haml
+++ b/ee/app/views/protected_branches/ee/_create_protected_branch.html.haml
@@ -5,6 +5,6 @@
   .push_access_levels-container
     .js-allowed-to-push{ data: { filter: true } }
   .form-text.text-muted
-    = s_('ProtectedBranch|You can add only groups that have this project shared. %{learn_more_link}').html_safe % { learn_more_link: link_to(_('Learn more.'), help_page_path('user/project/members/share_project_with_groups')) }
+    = s_('ProtectedBranch|You can add only groups that have this project shared. %{learn_more_link}').html_safe % { learn_more_link: link_to(_('Learn more.'), help_page_path('user/project/members/share_project_with_groups.md')) }
 
 = render 'protected_branches/shared/create_protected_branch', protected_branch_entity: protected_branch_entity
diff --git a/ee/app/views/protected_branches/ee/_protected_branch.html.haml b/ee/app/views/protected_branches/ee/_protected_branch.html.haml
index f30f4af0eb7c6..66798db943a43 100644
--- a/ee/app/views/protected_branches/ee/_protected_branch.html.haml
+++ b/ee/app/views/protected_branches/ee/_protected_branch.html.haml
@@ -4,7 +4,7 @@
 - can_unprotect = protected_branch_presenter.can_unprotect_branch?
 - can_push = allow_protected_branch_push?(@branches_protected_from_push, protected_branch, protected_branch_entity)
 - protected_from_deletion = protected_branch.protected_from_deletion
-- tag_pair_security_policies_docs = tag_pair(link_to('', help_page_path('user/application_security/policies/scan-result-policies'), target: '_blank', rel: 'noopener noreferrer'), :learn_more_link_start, :learn_more_link_end)
+- tag_pair_security_policies_docs = tag_pair(link_to('', help_page_path('user/application_security/policies/scan-result-policies.md'), target: '_blank', rel: 'noopener noreferrer'), :learn_more_link_start, :learn_more_link_end)
 - tag_pair_security_policies_page = tag_pair(link_to('', security_policies_path(protected_branch), target: '_blank', rel: 'noopener noreferrer'), :security_policies_link_start, :security_policies_link_end)
 - popover_content = safe_format(s_("SecurityOrchestration|You can't unprotect this branch because its protection is enforced by one or more %{security_policies_link_start}security policies%{security_policies_link_end}. %{learn_more_link_start}Learn more%{learn_more_link_end}."), tag_pair_security_policies_docs, tag_pair_security_policies_page)
 
diff --git a/ee/app/views/protected_branches/ee/_protected_branch_access_summary.html.haml b/ee/app/views/protected_branches/ee/_protected_branch_access_summary.html.haml
index 786e606b1ef3e..b5326a4248f6f 100644
--- a/ee/app/views/protected_branches/ee/_protected_branch_access_summary.html.haml
+++ b/ee/app/views/protected_branches/ee/_protected_branch_access_summary.html.haml
@@ -5,7 +5,7 @@
 
 - unless can_push
   - security_policies_link = link_to('', security_policies_path(protected_branch.entity), target: '_blank', rel: 'noopener noreferrer nofollow')
-  - learn_more_link = link_to('', help_page_path('user/application_security/policies/scan-result-policies'), target: '_blank', rel: 'noopener noreferrer nofollow')
+  - learn_more_link = link_to('', help_page_path('user/application_security/policies/scan-result-policies.md'), target: '_blank', rel: 'noopener noreferrer nofollow')
   - popover_content = safe_format(s_("SecurityOrchestration|You can't unprotect this branch because its protection is enforced by one or more %{security_policies_link_start}security policies%{security_policies_link_end}. %{learn_more_link_start}Learn more%{learn_more_link_end}."), tag_pair(learn_more_link, :learn_more_link_start, :learn_more_link_end), tag_pair(security_policies_link, :security_policies_link_start, :security_policies_link_end))
   - popover_data = can_update ? { container: 'body', toggle: 'popover', html: 'true', triggers: 'hover focus', content: popover_content } : {}
 
diff --git a/ee/app/views/search/results/_error.html.haml b/ee/app/views/search/results/_error.html.haml
index 752a349db5852..e651a1f1cb5e6 100644
--- a/ee/app/views/search/results/_error.html.haml
+++ b/ee/app/views/search/results/_error.html.haml
@@ -4,6 +4,6 @@
   - c.with_description do
     = s_('SearchError|To resolve the problem, check the query syntax and try again.')
     - if search_service.use_zoekt?
-      - search_syntax_link_url = help_page_path('user/search/exact_code_search', anchor: 'syntax')
+      - search_syntax_link_url = help_page_path('user/search/exact_code_search.md', anchor: 'syntax')
       - search_syntax_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: search_syntax_link_url }
       = html_escape(s_('SearchError|%{search_syntax_link_start}What is the supported syntax%{search_syntax_link_end}?')) % { search_syntax_link_start: search_syntax_link_start, search_syntax_link_end: '</a>'.html_safe }
diff --git a/ee/app/views/users/available_group_templates.html.haml b/ee/app/views/users/available_group_templates.html.haml
index dd97b4c5b9210..d63c895a56fbe 100644
--- a/ee/app/views/users/available_group_templates.html.haml
+++ b/ee/app/views/users/available_group_templates.html.haml
@@ -41,5 +41,5 @@
       - c.with_body do
         = _("Custom project templates have not been set up for groups that you are a member of. They are enabled from a group’s settings page. Contact your group’s Owner or Maintainer to setup custom project templates.")
       - c.with_actions do
-        = render Pajamas::ButtonComponent.new(href: help_page_path("user/group/custom_project_templates")) do
+        = render Pajamas::ButtonComponent.new(href: help_page_path("user/group/custom_project_templates.md")) do
           = _("Learn more about group-level project templates")
diff --git a/ee/app/views/users/available_project_templates.html.haml b/ee/app/views/users/available_project_templates.html.haml
index 02bdef4e362b1..35a18b3fbdda2 100644
--- a/ee/app/views/users/available_project_templates.html.haml
+++ b/ee/app/views/users/available_project_templates.html.haml
@@ -26,5 +26,5 @@
         %p
           = _("There are no custom project templates set up for this GitLab instance. They are enabled from GitLab's Admin area. Contact your GitLab instance administrator to setup custom project templates.")
       - c.with_actions do
-        = render Pajamas::ButtonComponent.new(href: help_page_path("administration/custom_project_templates")) do
+        = render Pajamas::ButtonComponent.new(href: help_page_path("administration/custom_project_templates.md")) do
           = _("Learn more about custom project templates")
diff --git a/ee/spec/features/search/elastic/project_search_spec.rb b/ee/spec/features/search/elastic/project_search_spec.rb
index 270e90ff6a396..d33f673a4f17f 100644
--- a/ee/spec/features/search/elastic/project_search_spec.rb
+++ b/ee/spec/features/search/elastic/project_search_spec.rb
@@ -182,7 +182,7 @@
       expect(page).to have_content('A problem has occurred')
       expect(page).to have_link(
         'What is the supported syntax',
-        href: help_page_path('user/search/exact_code_search', anchor: 'syntax')
+        href: help_page_path('user/search/exact_code_search.md', anchor: 'syntax')
       )
     end
 
diff --git a/ee/spec/views/admin/ai/terms_and_conditions/index.html.haml_spec.rb b/ee/spec/views/admin/ai/terms_and_conditions/index.html.haml_spec.rb
index 9b4a64d8db3f1..22cb4b82aed72 100644
--- a/ee/spec/views/admin/ai/terms_and_conditions/index.html.haml_spec.rb
+++ b/ee/spec/views/admin/ai/terms_and_conditions/index.html.haml_spec.rb
@@ -6,7 +6,7 @@
   subject { render && rendered }
 
   it do
-    is_expected.to have_link('Learn more.', href: '/help/administration/self_hosted_models/install_infrastructure')
+    is_expected.to have_link('Learn more.', href: '/help/administration/self_hosted_models/install_infrastructure.md')
   end
 
   it { is_expected.to have_link('Enable self-hosted models', href: admin_ai_terms_and_conditions_url) }
diff --git a/ee/spec/views/user_settings/profiles/show.html.haml_spec.rb b/ee/spec/views/user_settings/profiles/show.html.haml_spec.rb
index f0c56c76b8470..3f9dbca066922 100644
--- a/ee/spec/views/user_settings/profiles/show.html.haml_spec.rb
+++ b/ee/spec/views/user_settings/profiles/show.html.haml_spec.rb
@@ -23,7 +23,7 @@
 
           expect(rendered).to render_template('user_settings/profiles/_private_profile')
           expect(rendered).to have_link 'What information is hidden?',
-            href: help_page_path('user/profile/index', anchor: 'make-your-user-profile-page-private')
+            href: help_page_path('user/profile/index.md', anchor: 'make-your-user-profile-page-private')
           expect(rendered).not_to have_selector('.js-vue-popover')
           expect(rendered).not_to have_selector("input[type=checkbox][id='user_private_profile'][disabled]")
         end
diff --git a/spec/features/admin/admin_sees_background_migrations_spec.rb b/spec/features/admin/admin_sees_background_migrations_spec.rb
index 8f04f19d03a8d..d1b20e0d4c402 100644
--- a/spec/features/admin/admin_sees_background_migrations_spec.rb
+++ b/spec/features/admin/admin_sees_background_migrations_spec.rb
@@ -193,7 +193,7 @@
     visit admin_background_migrations_path
 
     within '#content-body' do
-      expect(page).to have_link('Learn more', href: help_page_path('update/background_migrations'))
+      expect(page).to have_link('Learn more', href: help_page_path('update/background_migrations.md'))
     end
   end
 
diff --git a/spec/views/user_settings/profiles/show.html.haml_spec.rb b/spec/views/user_settings/profiles/show.html.haml_spec.rb
index 4f55a9fdb5826..9ffabac115b11 100644
--- a/spec/views/user_settings/profiles/show.html.haml_spec.rb
+++ b/spec/views/user_settings/profiles/show.html.haml_spec.rb
@@ -21,7 +21,7 @@
       expect(rendered).to have_field('user_name', with: user.name)
       expect(rendered).to have_field('user_id', with: user.id)
 
-      expected_link = help_page_path('user/profile/index',
+      expected_link = help_page_path('user/profile/index.md',
         anchor: 'use-an-automatically-generated-private-commit-email')
       expected_link_html = "<a href=\"#{expected_link}\" target=\"_blank\" " \
                            "rel=\"noopener noreferrer\">#{s_('Profiles|What is a private commit email?')}</a>"
@@ -64,7 +64,7 @@
 
         expect(rendered).to render_template('user_settings/profiles/_private_profile')
         expect(rendered).to have_link 'What information is hidden?',
-          href: help_page_path('user/profile/index', anchor: 'make-your-user-profile-page-private')
+          href: help_page_path('user/profile/index.md', anchor: 'make-your-user-profile-page-private')
       end
     end
   end
-- 
GitLab