Commit Graph

6 Commits

Author SHA1 Message Date
Vinta Chen
280f250ce0 feat: migrate README parser to markdown-it-py and refresh website
Switch readme_parser.py from regex-based parsing to markdown-it-py for
more robust and maintainable Markdown AST traversal. Update build pipeline,
templates, styles, and JS to support the new parser output. Refresh GitHub
stars data and update tests to match new parser behavior.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 20:33:36 +08:00
Vinta Chen
95718991f8 build: add project metadata and restructure dependency groups
Add authors, readme, license, and project URLs to pyproject.toml.
Move build deps out of the default dependencies list into named groups
(build, lint, test, dev) so each tool group can be installed independently.
uv.lock updated to reflect the new group structure.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 18:34:11 +08:00
Vinta Chen
74bba50785 build: restructure dependency groups and add watchdog
Split flat dev group into named groups (build, lint, test) so CI
and production installs can pull only what they need. Add watchdog
for the live-reload preview target.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 18:28:19 +08:00
Vinta Chen
143abbf201 build: remove markdown dependency, replaced by markdown-it-py
The markdown package is no longer used after switching the README parser
to markdown-it-py in the feature branch.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:28:50 +08:00
Vinta Chen
1c67c9f0e6 feat: replace regex README parser with markdown-it-py AST parser
Introduce parse_readme() which uses MarkdownIt to build a full AST
instead of line-by-line regex matching. The function splits the document
at the thematic break, groups nodes by h2 heading, extracts category
descriptions from leading italic paragraphs, and separates the
Categories, Resources, and Contributing sections cleanly.

Add markdown-it-py==4.0.0 (+ mdurl) as a runtime dependency to support
the new parser.

Tests cover section counts, names, slugs, descriptions, content
presence, boundary conditions (no separator, no description), and mixed
description markup.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 17:21:49 +08:00
Vinta Chen
177183d9bd add custom website build system
Replaces MkDocs with a bespoke Python site generator using Jinja2 templates
and Markdown. Adds uv for dependency management, GitHub Actions workflow for
deployment, and Makefile targets for local development (fetch_stars, build,
preview, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:48:49 +08:00