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>
Introduce readme_parser.py which parses README.md into structured
section data using the markdown-it-py AST. Includes TypedDicts for
ParsedEntry/ParsedSection, slugify(), render_inline_html(), and
render_inline_text(). Add test_readme_parser.py covering HTML escaping,
link rendering, emphasis, strong, and code_inline for both renderers.
Co-Authored-By: Claude <noreply@anthropic.com>
Adds -include .env with export so environment variables (e.g. GitHub
token) are available to uv commands without manual export. Renames the
target to match the site_ prefix convention used by the other targets.
Co-Authored-By: Claude <noreply@anthropic.com>
- Add 'tools' to the description tagline
- Remove the Resources TOC entry (Newsletters, Podcasts) and corresponding
section — content is no longer relevant to the relaunched site
- Remove uv from the Environment Management section (it's now a dev dependency
managed by pyproject.toml, not a curated list entry)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
Replace the MkDocs-based build (mkdocs.yml, requirements.txt, docs/CNAME,
docs/css/extra.css) with a custom website builder as part of the site relaunch.
Co-Authored-By: Claude <noreply@anthropic.com>