mirror of
https://github.com/vinta/awesome-python.git
synced 2026-07-16 11:04:34 -05:00
[PR #3107] [MERGED] chore: refine UI, add JSON-LD, polish category SEO #18384
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/3107
Author: @vinta
Created: 5/3/2026
Status: ✅ Merged
Merged: 5/3/2026
Merged by: @vinta
Base:
master← Head:chore/refine-ui📝 Commits (10+)
1468ae7feat(website): show project description as always-visible desc-row on category pages1afccd8update description for cursesfc8d1bafeat(website): show desc-row on index page when a filter is active9de86eafeat(website): append #library-index to tag links on non-index pagesf3f92c6feat(website): render subcategory, group, and source tags as anchor elementsf57fc44style: bump tag font size to var(--text-xs) and codify 12px minimum font-size rule138059ffeat(website): add Awesome Python and Sponsorship links to footerb2910d5feat(website): add homepage JSON-LD with WebSite, CollectionPage, ItemList for SEO/AEO86d2aa7feat(website): add CollectionPage JSON-LD to category, group, and subcategory pages2f398acfix(seo): align JSON-LD with Yoast/RankMath conventions📊 Changes
10 files changed (+368 additions, -33 deletions)
View changed files
📝
DESIGN.md(+1 -0)📝
README.md(+1 -1)📝
uv.lock(+1 -1)📝
website/build.py(+94 -0)📝
website/static/main.js(+26 -7)📝
website/static/style.css(+61 -4)📝
website/templates/base.html(+4 -1)📝
website/templates/category.html(+22 -11)📝
website/templates/index.html(+19 -6)📝
website/tests/test_build.py(+139 -2)📄 Description
Summary
Mix of UI refinement and SEO/AEO work on the static site (no listings change).
SEO / AEO
WebSite+CollectionPagewith anItemListof visible projects@graphpattern to category, group, and subcategory pages (eachCollectionPageisisPartOfthe sharedWebSitenode, Yoast/RankMath style)|to-UI
#library-indexon non-index pagesvar(--text-xs)(12px minimum)cursesTest plan
make buildsucceeds (14 groups, 71 categories, 537 entries)uv run pytest website/tests/test_build.py -v— 54 passedindex.htmlJSON-LD parses, containsWebSite+CollectionPage+ItemList-separator, meta description leads with real description🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.