Improve sitemaps
All checks were successful
Deploy to Server / deploy (push) Successful in 9s

This commit is contained in:
Joakim Hellsén 2026-02-27 06:02:30 +01:00
commit 415dd12fd9
Signed by: Joakim Hellsén
SSH key fingerprint: SHA256:/9h/CsExpFp+PRhsfA0xznFx2CGfTT5R/kpuFfUgEQk
16 changed files with 843 additions and 379 deletions

View file

@ -4,17 +4,44 @@ from typing import TYPE_CHECKING
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.sitemaps.views import index
from django.contrib.sitemaps.views import sitemap
from django.urls import include
from django.urls import path
from django.views.decorators.cache import cache_page
from twitch import sitemaps as twitch_sitemaps
from twitch import views as twitch_views
if TYPE_CHECKING:
from django.contrib.sitemaps import Sitemap
from django.urls.resolvers import URLPattern
from django.urls.resolvers import URLResolver
sitemaps: dict[str, type[Sitemap]] = {
"static": twitch_sitemaps.TwitchSitemapGenerator,
"games": twitch_sitemaps.GameSitemap,
"campaigns": twitch_sitemaps.CampaignSitemap,
"organizations": twitch_sitemaps.OrganizationSitemap,
"channels": twitch_sitemaps.ChannelSitemap,
"badges": twitch_sitemaps.BadgeSitemap,
"reward-campaigns": twitch_sitemaps.RewardCampaignSitemap,
}
urlpatterns: list[URLPattern | URLResolver] = [
path("sitemap.xml", twitch_views.sitemap_view, name="sitemap"),
path(
"sitemap.xml",
cache_page(60 * 60)(index),
{"sitemaps": sitemaps},
name="sitemap",
),
path(
"sitemap-<section>.xml",
cache_page(60 * 60)(sitemap),
{"sitemaps": sitemaps},
name="django.contrib.sitemaps.views.sitemap",
),
path("robots.txt", twitch_views.robots_txt_view, name="robots"),
path(route="", view=include("twitch.urls", namespace="twitch")),
]
@ -26,6 +53,8 @@ if settings.DEBUG:
document_root=settings.MEDIA_ROOT,
)
# If not testing, include debug toolbar and silk URLs
if not settings.TESTING:
from debug_toolbar.toolbar import debug_toolbar_urls