Blog Index page sections and feed exclusions - #1744
Open
maribedran wants to merge 198 commits into
Open
Conversation
The 0125 slot is taken by 0125_referralhubpage_extra_content_and_more on this branch, so 0125_blogtopic becomes 0126 and the topic repoint becomes 0127, with dependencies rewired.
…into WT-1488-blog-topics
# git update-ref -d MERGE_HEAD
…eld into WT-1488-featured-topics
Pull the select_related/prefetch_related/defer chain into a module-level article_list_queryset() used by both the listing routes and the StreamField article prefetch, and split BlogIndexPage's topic and article queries into live_articles()/get_all_topics(). No behaviour change. Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
…eld into WT-1488-featured-topics
blog_all_page.html inlined the article-list-item loop and its pagination; move both into cms/includes/blog-article-list.html so the upcoming topic page can share one copy. Callers now set pagination_prev_url and pagination_next_url. Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
Move the featured-articles markup and the illustration_card_media macro out of blog_index_page.html into cms/includes/, so the upcoming BlogTopicPage renders the same header without a second copy. The partial takes featured_articles from context instead of reading page.featured_articles directly. Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
List a topic's articles most-recent-first at /blog/topics/{slug}/, paginated 10 per page. get_topic_context() is the single definition of that listing so the upcoming BlogTopicPage can reuse it; an unknown or unpublished topic slug 404s.
Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
An optional per-topic page whose curated heading and featured articles replace the plain topic name at topics/<slug>/, with the automatic list still rendering below minus whatever is featured. get_url_parts() reports the route URL and route() 404s, so the route URL is the page's only URL; clean() rejects a second page for a topic already covered. Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
The index header topics, the all-articles topic chips and the all-topics grid now link to /blog/topics/{slug}/ instead of /blog/all/?topic={slug}. The all route keeps accepting ?topic= unchanged, including BlogCardsListBlock.link_filter and the clear-filter link.
Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
The fixture blog now has a BlogTopicPage for Privacy featuring its 4 most recent articles, so loading fixtures exercises both the curated and the plain topic variant, and the fixture translation test covers the new page type. Claude-Session: https://claude.ai/code/session_01KCFWwomEFf6br8y2cB84qy
- listing image - updated date - hide dates - hero style - hero video - make first published at editable - drop hide image
lucianoratamero
force-pushed
the
blog-feed-exclusions
branch
from
August 19, 2026 05:06
07c0b53 to
ee681d6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One-line summary
Allow filtering by tags; add feed exclusions to the Blog Index Page and create new blog article sections for the page.
Significant changes and points to review
?tag=<slug>filter to/blog/all/and/blog/topic/<slug>/listingsBlogCardsListBlockto list N articles from a tag or topicBlogLatestArticlesBlockto list N most recent articlesIssue / Bugzilla link
https://mozilla-hub.atlassian.net/browse/WT-1494
https://mozilla-hub.atlassian.net/browse/WT-1495
Testing
Run
./manage.py load_page_fixturesand check http://localhost:8000/en-US/flare-docs/sample-pages/test-blog-index/