From 7b4e85a4737cf432224cc5f595246c63eba69d4f Mon Sep 17 00:00:00 2001 From: logikonline Date: Sun, 19 Apr 2026 20:31:22 -0400 Subject: [PATCH] feat(pages): add customizable section labels for landing pages Adds ability to customize section headings on repository landing pages. Users can now override default labels for value propositions and features sections. New fields: - LabelValueProps: Custom heading for value propositions section (default: "Why choose us") - LabelFeatures: Custom heading for features section (default: "Capabilities") Useful for branding consistency or localization when default English headings don't fit the project's tone or language. --- options/locale/locale_en-US.json | 6 ++++++ routers/web/repo/setting/pages.go | 6 ++++++ templates/repo/settings/pages_content.tmpl | 15 +++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/options/locale/locale_en-US.json b/options/locale/locale_en-US.json index b5c4168d52..e252c38195 100644 --- a/options/locale/locale_en-US.json +++ b/options/locale/locale_en-US.json @@ -4545,6 +4545,12 @@ "repo.settings.pages.nav_show_repository": "Show Repository link (View Source button)", "repo.settings.pages.nav_show_releases": "Show Releases link", "repo.settings.pages.nav_show_issues": "Show Issues link", + "repo.settings.pages.section_labels": "Section Labels", + "repo.settings.pages.section_labels_desc": "Customize the headings shown on your landing page for each section", + "repo.settings.pages.label_value_props": "Value Props Heading", + "repo.settings.pages.label_value_props_help": "Heading for the value propositions section (e.g., \"Why choose us\")", + "repo.settings.pages.label_features": "Features Heading", + "repo.settings.pages.label_features_help": "Heading for the features section (e.g., \"Capabilities\")", "repo.settings.pages.blog_section": "Blog Section", "repo.settings.pages.blog_enabled_desc": "Show recent blog posts on the landing page", "repo.settings.pages.blog_headline": "Blog Headline", diff --git a/routers/web/repo/setting/pages.go b/routers/web/repo/setting/pages.go index 9cbdd7b43d..3b559b8062 100644 --- a/routers/web/repo/setting/pages.go +++ b/routers/web/repo/setting/pages.go @@ -479,6 +479,12 @@ func PagesContentPost(ctx *context.Context) { config.Advanced.HideMobileReleases = ctx.FormBool("hide_mobile_releases") config.Advanced.GooglePlayID = strings.TrimSpace(ctx.FormString("google_play_id")) config.Advanced.AppStoreID = strings.TrimSpace(ctx.FormString("app_store_id")) + if v := ctx.FormString("label_value_props"); v != "" { + config.Navigation.LabelValueProps = v + } + if v := ctx.FormString("label_features"); v != "" { + config.Navigation.LabelFeatures = v + } config.Navigation.ShowDocs = ctx.FormBool("nav_show_docs") config.Navigation.ShowAPI = ctx.FormBool("nav_show_api") config.Navigation.ShowRepository = ctx.FormBool("nav_show_repository") diff --git a/templates/repo/settings/pages_content.tmpl b/templates/repo/settings/pages_content.tmpl index 166a08c662..daf144e435 100644 --- a/templates/repo/settings/pages_content.tmpl +++ b/templates/repo/settings/pages_content.tmpl @@ -37,6 +37,21 @@ +
{{ctx.Locale.Tr "repo.settings.pages.section_labels"}}
+

{{ctx.Locale.Tr "repo.settings.pages.section_labels_desc"}}

+
+
+ + +

{{ctx.Locale.Tr "repo.settings.pages.label_value_props_help"}}

+
+
+ + +

{{ctx.Locale.Tr "repo.settings.pages.label_features_help"}}

+
+
+
{{ctx.Locale.Tr "repo.settings.pages.public_releases"}}