mirror of
https://github.com/vinta/awesome-python.git
synced 2026-05-07 00:14:48 -05:00
[PR #2971] [MERGED] feat: replace regex README parser with markdown-it-py AST parser #11303
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/2971
Author: @vinta
Created: 3/18/2026
Status: ✅ Merged
Merged: 3/18/2026
Merged by: @vinta
Base:
master← Head:feature/markdown-it-py-parser📝 Commits (10+)
5fa7c7dfeat(website): add markdown-it-py README parser and inline renderer tests1c67c9ffeat: replace regex README parser with markdown-it-py AST parser3d015bcfeat(parser): implement entry extraction from bullet list AST nodesa838098feat: implement HTML rendering for readme sections03ac212test: add integration tests against the real README.md0f37497refactor: extract parsing logic from build.py into readme_parser module143abbfbuild: remove markdown dependency, replaced by markdown-it-pyaf3baabrefactor: consolidate load_cache into build.load_stars266a6b6simplify: remove redundant _has_description, unused param, merge loops74bba50build: restructure dependency groups and add watchdog📊 Changes
15 files changed (+2527 additions, -1441 deletions)
View changed files
📝
Makefile(+16 -9)📝
pyproject.toml(+17 -9)📝
uv.lock(+61 -12)📝
website/build.py(+25 -277)📝
website/data/github_stars.json(+1274 -750)📝
website/fetch_github_stars.py(+8 -17)➕
website/readme_parser.py(+388 -0)➕
website/static/favicon.svg(+6 -0)📝
website/static/main.js(+142 -4)📝
website/static/style.css(+132 -23)📝
website/templates/base.html(+12 -15)📝
website/templates/index.html(+21 -14)📝
website/tests/test_build.py(+1 -289)📝
website/tests/test_fetch_github_stars.py(+0 -22)➕
website/tests/test_readme_parser.py(+424 -0)📄 Description
Summary
markdown-it-py, improving correctness and maintainabilitywebsite/readme_parser.pymodule with full entry extraction, HTML rendering, and 94 passing unit + integration testspushed_atwithlast_commit_at(fetched from default branch) for more accurate recency dataTest plan
make test— all 94 tests passmake build— site builds without errorsmake preview— verify table sorting, search/filter URL state, expanded rows, and mobile layout in browser🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.