mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	Allow disable sitemap (#21617)
This patch provide a mechanism to disable [sitemap](https://github.com/go-gitea/gitea/pull/18407). Signed-off-by: Xinyu Zhou <i@sourcehut.net> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
		@@ -2196,7 +2196,8 @@ ROUTER = console
 | 
				
			|||||||
;SHOW_FOOTER_VERSION = true
 | 
					;SHOW_FOOTER_VERSION = true
 | 
				
			||||||
;; Show template execution time in the footer
 | 
					;; Show template execution time in the footer
 | 
				
			||||||
;SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
 | 
					;SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
 | 
				
			||||||
 | 
					;; Generate sitemap. Defaults to `true`.
 | 
				
			||||||
 | 
					; ENABLE_SITEMAP = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
					;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
				
			||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
					;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1233,3 +1233,4 @@ PROXY_HOSTS = *.github.com
 | 
				
			|||||||
- `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer.
 | 
					- `SHOW_FOOTER_BRANDING`: **false**: Show Gitea branding in the footer.
 | 
				
			||||||
- `SHOW_FOOTER_VERSION`: **true**: Show Gitea and Go version information in the footer.
 | 
					- `SHOW_FOOTER_VERSION`: **true**: Show Gitea and Go version information in the footer.
 | 
				
			||||||
- `SHOW_FOOTER_TEMPLATE_LOAD_TIME`: **true**: Show time of template execution in the footer.
 | 
					- `SHOW_FOOTER_TEMPLATE_LOAD_TIME`: **true**: Show time of template execution in the footer.
 | 
				
			||||||
 | 
					- `ENABLE_SITEMAP`: **true**: Generate sitemap.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -452,6 +452,7 @@ var (
 | 
				
			|||||||
	RunUser       string
 | 
						RunUser       string
 | 
				
			||||||
	IsWindows     bool
 | 
						IsWindows     bool
 | 
				
			||||||
	HasRobotsTxt  bool
 | 
						HasRobotsTxt  bool
 | 
				
			||||||
 | 
						EnableSitemap bool
 | 
				
			||||||
	InternalToken string // internal access token
 | 
						InternalToken string // internal access token
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1100,6 +1101,7 @@ func loadFromConf(allowEmpty bool, extraConfig string) {
 | 
				
			|||||||
	ShowFooterBranding = Cfg.Section("other").Key("SHOW_FOOTER_BRANDING").MustBool(false)
 | 
						ShowFooterBranding = Cfg.Section("other").Key("SHOW_FOOTER_BRANDING").MustBool(false)
 | 
				
			||||||
	ShowFooterVersion = Cfg.Section("other").Key("SHOW_FOOTER_VERSION").MustBool(true)
 | 
						ShowFooterVersion = Cfg.Section("other").Key("SHOW_FOOTER_VERSION").MustBool(true)
 | 
				
			||||||
	ShowFooterTemplateLoadTime = Cfg.Section("other").Key("SHOW_FOOTER_TEMPLATE_LOAD_TIME").MustBool(true)
 | 
						ShowFooterTemplateLoadTime = Cfg.Section("other").Key("SHOW_FOOTER_TEMPLATE_LOAD_TIME").MustBool(true)
 | 
				
			||||||
 | 
						EnableSitemap = Cfg.Section("other").Key("ENABLE_SITEMAP").MustBool(true)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	UI.ShowUserEmail = Cfg.Section("ui").Key("SHOW_USER_EMAIL").MustBool(true)
 | 
						UI.ShowUserEmail = Cfg.Section("ui").Key("SHOW_USER_EMAIL").MustBool(true)
 | 
				
			||||||
	UI.DefaultShowFullName = Cfg.Section("ui").Key("DEFAULT_SHOW_FULL_NAME").MustBool(false)
 | 
						UI.DefaultShowFullName = Cfg.Section("ui").Key("DEFAULT_SHOW_FULL_NAME").MustBool(false)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -296,12 +296,19 @@ func RegisterRoutes(m *web.Route) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sitemapEnabled := func(ctx *context.Context) {
 | 
				
			||||||
 | 
							if !setting.EnableSitemap {
 | 
				
			||||||
 | 
								ctx.Error(http.StatusNotFound)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// FIXME: not all routes need go through same middleware.
 | 
						// FIXME: not all routes need go through same middleware.
 | 
				
			||||||
	// Especially some AJAX requests, we can reduce middleware number to improve performance.
 | 
						// Especially some AJAX requests, we can reduce middleware number to improve performance.
 | 
				
			||||||
	// Routers.
 | 
						// Routers.
 | 
				
			||||||
	// for health check
 | 
						// for health check
 | 
				
			||||||
	m.Get("/", Home)
 | 
						m.Get("/", Home)
 | 
				
			||||||
	m.Get("/sitemap.xml", ignExploreSignIn, HomeSitemap)
 | 
						m.Get("/sitemap.xml", sitemapEnabled, ignExploreSignIn, HomeSitemap)
 | 
				
			||||||
	m.Group("/.well-known", func() {
 | 
						m.Group("/.well-known", func() {
 | 
				
			||||||
		m.Get("/openid-configuration", auth.OIDCWellKnown)
 | 
							m.Get("/openid-configuration", auth.OIDCWellKnown)
 | 
				
			||||||
		m.Group("", func() {
 | 
							m.Group("", func() {
 | 
				
			||||||
@@ -318,9 +325,9 @@ func RegisterRoutes(m *web.Route) {
 | 
				
			|||||||
			ctx.Redirect(setting.AppSubURL + "/explore/repos")
 | 
								ctx.Redirect(setting.AppSubURL + "/explore/repos")
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
		m.Get("/repos", explore.Repos)
 | 
							m.Get("/repos", explore.Repos)
 | 
				
			||||||
		m.Get("/repos/sitemap-{idx}.xml", explore.Repos)
 | 
							m.Get("/repos/sitemap-{idx}.xml", sitemapEnabled, explore.Repos)
 | 
				
			||||||
		m.Get("/users", explore.Users)
 | 
							m.Get("/users", explore.Users)
 | 
				
			||||||
		m.Get("/users/sitemap-{idx}.xml", explore.Users)
 | 
							m.Get("/users/sitemap-{idx}.xml", sitemapEnabled, explore.Users)
 | 
				
			||||||
		m.Get("/organizations", explore.Organizations)
 | 
							m.Get("/organizations", explore.Organizations)
 | 
				
			||||||
		m.Get("/code", explore.Code)
 | 
							m.Get("/code", explore.Code)
 | 
				
			||||||
		m.Get("/topics/search", explore.TopicSearch)
 | 
							m.Get("/topics/search", explore.TopicSearch)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user