Open
Conversation
23abd09 to
40cd98b
Compare
Fixed Alphabetic Order
Add Agno to Machine Learning section
No longer maintained and out-dated.
remove zipline
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>
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>
- 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>
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>
Follows the removal of zipline from README.md (see bd73b1f). Co-Authored-By: Claude <noreply@anthropic.com>
Relaunch website with custom build system
The deploy-pages action outputs http:// despite HTTPS being enforced. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ests 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>
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>
Replace _parse_section_entries stub with full implementation that walks bullet_list AST nodes to extract ParsedEntry records, including support for subcategory labels (text-only list items) and also_see nested links. Add _parse_list_entries, helper finders (_find_inline, _find_first_link, _find_child), and _extract_description_html with separator stripping. Extend test suite with TestParseSectionEntries covering flat entries, link-only entries, subcategorized entries, also_see, entry_count, preview first-four, and XSS escaping in description HTML. Co-Authored-By: Claude <noreply@anthropic.com>
Replace the _render_section_html stub with a working implementation that converts parsed bullet-list nodes into classed div elements (entry, entry-sub, subcat). Add _render_bullet_list_html to handle nested structure and XSS escaping. Cover all cases with a new TestRenderSectionHtml suite. Co-Authored-By: Claude <noreply@anthropic.com>
Adds TestParseRealReadme covering category count, slug generation, descriptions, entry counts, previews, content HTML, subcategory rendering, also-see links, and description link stripping. Co-Authored-By: Claude <noreply@anthropic.com>
slugify, parse_readme, count_entries, extract_preview, render_content_html, and related helpers are moved to a dedicated readme_parser module. build.py now imports from readme_parser rather than defining these inline. Tests for the removed functions are dropped from test_build.py since they now live with the module they test. Co-Authored-By: Claude <noreply@anthropic.com>
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>
load_cache was a duplicate of logic now living in build.load_stars. Switch the call site to the shared helper and remove the redundant local function and its tests. Co-Authored-By: Claude <noreply@anthropic.com>
Swap the hardcoded 'smooth' scroll behavior for a runtime check so users who have enabled reduced-motion in their OS get instant (auto) scrolling instead of the animated kind. Co-Authored-By: Claude <noreply@anthropic.com>
Table sort triggers were bare th elements, which are not keyboard focusable or announced as interactive by screen readers. Replace with button elements inside th so keyboard users can activate sorting and get proper focus-visible ring. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…cells col-cat and expand-row cells need different treatment on mobile: - col-cat uses display:none (whole column hidden) - expand-row first/last cells collapse via width/padding/overflow rather than display:none to avoid breaking table layout Co-Authored-By: Claude <noreply@anthropic.com>
Move cursor/hover/user-select styles from .sort-btn to th[data-sort] so the entire column header cell is the interactive target, not just the button text node. Co-Authored-By: Claude <noreply@anthropic.com>
Appends a small northeast arrow (↗) after target="_blank" anchors in hero subtitle, expand description, expand also-see, and footer sections to signal outbound navigation to keyboard and sighted users. Co-Authored-By: Claude <noreply@anthropic.com>
Expand the .tag::after pseudo-element inset and add explicit min-height/ min-width of 44px so the interactive hit area satisfies WCAG 2.5.5. Also nudge mobile tag padding and font-size slightly for visual consistency. Co-Authored-By: Claude <noreply@anthropic.com>
Replace the generic '#' sr-only text with 'Row number' so screen readers announce a meaningful column header instead of a bare symbol. Co-Authored-By: Claude <noreply@anthropic.com>
…n mobile Co-Authored-By: Claude <noreply@anthropic.com>
Use media='print' + onload swap trick to load the stylesheet non-blocking. Add noscript fallback for JS-disabled browsers. Co-Authored-By: Claude <noreply@anthropic.com>
Add an expand-commit span inside the expand row that displays the last commit date. Hidden on desktop, visible only on mobile (max-width: 960px) via media query, mirroring the commit column that appears in the full table. Relative time formatting is applied via JS on page load. Co-Authored-By: Claude <noreply@anthropic.com>
This reverts commit 65bc88b.
Replaces the width/padding/overflow hack with a clean display:none. The previous approach collapsed the cells to zero size but kept them in the layout flow; display:none removes them entirely. Co-Authored-By: Claude <noreply@anthropic.com>
Moves overflow-x: clip from the 680px breakpoint into the 960px breakpoint, removing the duplicate rule. The value was applied twice across two consecutive breakpoints with no override in between. Co-Authored-By: Claude <noreply@anthropic.com>
Footer text was too small to read comfortably. Bumping to --text-sm improves legibility without breaking the footer layout. Co-Authored-By: Claude <noreply@anthropic.com>
No behavior change. Reformats inline Jinja2/HTML to follow consistent two-space indentation and line-length conventions throughout the template. Co-Authored-By: Claude <noreply@anthropic.com>
Add a data-scroll-to attribute to the hero 'Browse the List' anchor and a JS handler that calls scrollIntoView instead of letting the browser follow the href, so the URL hash is never written. Respects prefers-reduced-motion. Co-Authored-By: Claude <noreply@anthropic.com>
Gives the focus ring a bit more breathing room so it doesn't overlap the button text at the new border-radius. Co-Authored-By: Claude <noreply@anthropic.com>
Was in a standalone @media (max-width: 960px) block; now lives inside the existing mobile breakpoint block alongside sibling expand-row rules. No visual change. Co-Authored-By: Claude <noreply@anthropic.com>
Long attribute list was exceeding line-length; split across lines for readability. No behavior change. Co-Authored-By: Claude <noreply@anthropic.com>
…rs-reduced-motion check The same matchMedia query was inlined twice (hero scroll and back-to-top). Extracted into a shared helper. Also renamed loop variable and reformatted a chained querySelector call for readability. No behavior change. Co-Authored-By: Claude <noreply@anthropic.com>
Replace the { type, value } filter object with a plain string value.
Merge data-cats and data-groups row attributes into a single data-tags
attribute. Drop data-type from tag buttons. Consolidate category/group
URL params into a single filter param, keeping backward-compat fallback.
Co-Authored-By: Claude <noreply@anthropic.com>
Only the canonical 'filter' query param is supported. The 'category' and 'group' aliases were never documented and silently accepted wrong spellings; removing them prevents hidden coupling to old URL shapes. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
…llapseAll scope - Hoist reducedMotion and sortHeaders to module scope to avoid repeated DOM queries on every call - collapseAll now queries within tbody instead of the full document - Replace indexOf with includes for tag filtering - Remove null check on activeSort (always initialized) - Drop inline section comments that just restate the code Co-Authored-By: Claude <noreply@anthropic.com>
…visible selector block Co-Authored-By: Claude <noreply@anthropic.com>
The flex properties (align-items, flex-direction, flex-wrap, justify-content) were overriding the default layout unnecessarily on mobile. Co-Authored-By: Claude <noreply@anthropic.com>
…acing Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
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.
Why this framework/library/software/resource is awesome?
A few sentences describing the reason.
Vote for this pull request
Who agrees that this change should be merged could add your reactions (e.g. 👍) to this pull request.