From 4e3f22a52850bec3dc7d1cba4df39103cb7391cb Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Sat, 4 Mar 2023 15:59:06 +0100 Subject: [PATCH] make sitemap url limit adjustable --- sitemap.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sitemap.go b/sitemap.go index ec9b3b4..573d616 100644 --- a/sitemap.go +++ b/sitemap.go @@ -46,8 +46,9 @@ type sitemapXML struct { } type SiteMap struct { - urls []*urlXML - BaseURL string + urls []*urlXML + BaseURL string + MaxURLPerSiteMap int } func (m *SiteMap) AddURL(url string, lastMod *string, freq *ChangeFrequency, prio *float64) { @@ -64,8 +65,7 @@ func prefixXML(content []byte) []byte { } func (m *SiteMap) SiteMapIndex() ([]byte, error) { - nSiteMaps := int(math.Floor(float64(len(m.urls))/50000 + 1)) - + nSiteMaps := int(math.Floor(float64(len(m.urls))/float64(m.MaxURLPerSiteMap) + 1)) index := &siteMapIndexXML{} for i := 0; i < nSiteMaps; i++ { @@ -83,17 +83,17 @@ func (m *SiteMap) SiteMapIndex() ([]byte, error) { } func (m *SiteMap) SiteMap(id int) ([]byte, error) { - if 50000*(id) >= len(m.urls) { + if m.MaxURLPerSiteMap*(id) >= len(m.urls) { return nil, nil } siteMap := &urlSetXML{} var urls []*urlXML - if 50000*(id+1) >= len(m.urls) { - urls = m.urls[50000*id:] + if m.MaxURLPerSiteMap*(id+1) >= len(m.urls) { + urls = m.urls[m.MaxURLPerSiteMap*id:] } else { - urls = m.urls[50000*id : 50000*(id+1)] + urls = m.urls[m.MaxURLPerSiteMap*id : m.MaxURLPerSiteMap*(id+1)] } siteMap.URLs = append(siteMap.URLs, urls...)