- Configure Wagtail database search backend with English search config - Add django.contrib.postgres to INSTALLED_APPS for full PG FTS support - Expand ArticlePage.search_fields: body_text (excl. code blocks), AutocompleteField(title), RelatedFields(tags), FilterFields - Add search view at /search/?q= with query guards (strip, max 200 chars, empty/whitespace handling) and pagination preserving query param - Replace nav Subscribe CTA with compact search box (desktop + mobile) - Add search box to article index page alongside category/tag filters - Create search results template reusing article_card component - Add update_index to deploy entrypoint for automated reindexing - Update existing tests for nav change, add comprehensive search tests Closes #41 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
32 lines
1.4 KiB
Python
32 lines
1.4 KiB
Python
from django.conf import settings
|
|
from django.conf.urls.static import static
|
|
from django.contrib import admin
|
|
from django.urls import include, path
|
|
from django.views.generic import RedirectView
|
|
from wagtail import urls as wagtail_urls
|
|
from wagtail.contrib.sitemaps.views import sitemap
|
|
|
|
from apps.blog.feeds import AllArticlesFeed, CategoryArticlesFeed, TagArticlesFeed
|
|
from apps.blog.views import search as search_view
|
|
from apps.core.views import consent_view, robots_txt
|
|
|
|
urlpatterns = [
|
|
path("django-admin/", admin.site.urls),
|
|
path("cms/", include("wagtail.admin.urls")),
|
|
path("documents/", include("wagtail.documents.urls")),
|
|
path("comments/", include("apps.comments.urls")),
|
|
path("newsletter/", include("apps.newsletter.urls")),
|
|
path("consent/", consent_view, name="consent"),
|
|
path("robots.txt", robots_txt, name="robots_txt"),
|
|
path("feed/", AllArticlesFeed(), name="rss_feed"),
|
|
path("feed/category/<slug:category_slug>/", CategoryArticlesFeed(), name="rss_feed_by_category"),
|
|
path("feed/tag/<slug:tag_slug>/", TagArticlesFeed(), name="rss_feed_by_tag"),
|
|
path("sitemap.xml", sitemap),
|
|
path("admin/", RedirectView.as_view(url="/cms/", permanent=False)),
|
|
path("search/", search_view, name="search"),
|
|
path("", include(wagtail_urls)),
|
|
]
|
|
|
|
if settings.DEBUG:
|
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|