diff options
author | 2022-01-30 14:02:19 +0100 | |
---|---|---|
committer | 2022-01-30 14:02:19 +0100 | |
commit | 4b17d714fb0cb7d1fd199a2ca123b6d18fe377e7 (patch) | |
tree | 5d40f59ec8972eb83c32d6dfa286989e6a81a53c /pydis_site/apps/resources | |
parent | Show a duck pond when no filters match. (diff) |
Fix resource redirects for deploy previews.
This could probably be improved by making it less hardcoded, but since
there's a bunch of special cases, and since it only affects deploy
previews, I'm choosing to solve this with a simple solution.
I don't think realistically that we're gonna be adding a ton of resource
types down the line anyway.
Diffstat (limited to 'pydis_site/apps/resources')
-rw-r--r-- | pydis_site/apps/resources/urls.py | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/pydis_site/apps/resources/urls.py b/pydis_site/apps/resources/urls.py index ed24dc99..aa3892b6 100644 --- a/pydis_site/apps/resources/urls.py +++ b/pydis_site/apps/resources/urls.py @@ -1,9 +1,47 @@ +import typing + from django_distill import distill_path from pydis_site.apps.resources import views +# This is only used for `distill_path`, so that the Netlify Deploy Previews +# can successfully redirect to static pages. This could probably be improved by +# making it less hardcoded, but since there's a bunch of special cases, and since +# it only affects deploy previews, I'm choosing to solve this with a simple solution. +VALID_RESOURCE_TYPES = [ + "book", + "books", + "reading", + "podcast", + "podcasts", + "interactive", + "videos", + "video", + "courses", + "course", + "communities", + "community", + "tutorial", + "tutorials", + "tool", + "tools", + "project ideas", + "project-ideas", +] + + +def get_all_pages() -> typing.Iterator[dict[str, str]]: + for resource_type in VALID_RESOURCE_TYPES: + yield {"resource_type": resource_type} + + app_name = "resources" urlpatterns = [ distill_path("", views.resources.ResourceView.as_view(), name="index"), - distill_path("<resource_type>/", views.resources.ResourceView.as_view(), name="index"), + distill_path( + "<resource_type>/", + views.resources.ResourceView.as_view(), + name="index", + distill_func=get_all_pages, + ), ] |