Resources are no longer passed through parse_readme, group_categories,
or the index template — they are replaced with empty lists and the
unused variable is prefixed with an underscore.
Co-Authored-By: Claude <noreply@anthropic.com>
The project name in the entry was 'playwright' but the GitHub repository
is 'playwright-python', which is also how the Python package is referred
to. Updated the display name to match.
Co-Authored-By: Claude <noreply@anthropic.com>
Move display:grid and gap from .final-cta to .final-cta > .section-shell
so the grid context is applied to the correct container element, not the
outer section. Wrap final-cta content in index.html with a section-shell
div accordingly. Also fix .no-results bottom padding that was missing.
Co-Authored-By: Claude <noreply@anthropic.com>
When results are visible, clicking the button previously scrolled to
the results section. It now targets the search input instead, scrolls
it into view centered, and focuses it so the user can immediately type
a new query. Button label updated from 'Top' to 'Search' to reflect
the new destination.
Co-Authored-By: Claude <noreply@anthropic.com>
When a search or filter yields no results, the message now includes
an inline button that resets both the search input and the active
filter. Improves discoverability and reduces dead-end frustration.
Co-Authored-By: Claude <noreply@anthropic.com>
On narrow screens the category column is hidden. This adds a .mobile-cat
span inside the name cell that renders the first category below the
project name, giving mobile users the context they were missing.
Co-Authored-By: Claude <noreply@anthropic.com>
Reorder tag buttons so the group tag appears before the source type tag,
giving it higher visual priority in the entry row.
Co-Authored-By: Claude <noreply@anthropic.com>
Give links across hero, table entries, expand panel, and footer a
semi-transparent underline on hover using text-decoration-color and
text-underline-offset, so interactive affordances are more visible
without changing the base text color. Hero sub-links are split into
their own rule to carry the additional underline style independently.
Co-Authored-By: Claude <noreply@anthropic.com>
Removes the 28% fixed width and overflow-wrap on the project name column.
white-space: nowrap lets the column size naturally to its content instead
of forcing wrapping at an arbitrary width.
Co-Authored-By: Claude <noreply@anthropic.com>
Replace the light frosted-glass footer with a dark-themed one using
oklch colors. Add link hover states, a footer-brand element showing
'Awesome Python', and switch alignment to space-between to accommodate
the new brand label.
Co-Authored-By: Claude <noreply@anthropic.com>
Increases --hero-muted lightness from 84% to 88% so secondary hero
text has more contrast against the dark hero background.
Co-Authored-By: Claude <noreply@anthropic.com>
Shorten metric labels, simplify section headings, rewrite
CTA and noscript message to be more direct and less verbose.
Co-Authored-By: Claude <noreply@anthropic.com>
Align the README intro with the site's actual positioning. The
'opinionated' framing was inaccurate and inconsistent with how the
project is described elsewhere.
Co-Authored-By: Claude <noreply@anthropic.com>
Set explicit font-size on .expand-content to prevent it inheriting
a smaller size from context. Standardize the two call-to-action labels
to "Submit a project" (lowercase, consistent phrasing).
Co-Authored-By: Claude <noreply@anthropic.com>
Grow the hero heading clamp range (4rem->4.5rem min, 7.5rem->8.5rem max on
desktop; 3.2rem->3.6rem min, 4.8rem->5.2rem max on mobile) for a bolder
visual impact in the redesigned homepage.
Co-Authored-By: Claude <noreply@anthropic.com>
Replace hardcoded font-size values (0.78rem, 0.76rem) with named tokens
--text-label and --text-tag so they are easy to find and change in one place.
Co-Authored-By: Claude <noreply@anthropic.com>
Ignores generated directories from Playwright CLI and Codex agent
tooling, keeping them out of version control.
Co-Authored-By: Claude <noreply@anthropic.com>
flower was a sub-entry under celery, pyenv-win under pyenv. Both are
standalone projects that deserve their own rows on the website.
Moved flower from Task Queues to Admin Panels since it is a monitoring
and web admin tool, not a task queue itself. Placed pyenv-win as a
top-level entry in Environment Management.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaces the fixed-position floating button with an inline button
inside the last column of the sticky table header. Removes the hidden
attribute toggle and float positioning in favour of opacity/pointer-
events toggling, keeping the visibility logic intact.
Co-Authored-By: Claude <noreply@anthropic.com>
Move overflow-x: auto from .table-wrap to the mobile breakpoint only,
so horizontal scrolling only applies on small screens. Add box-shadow
to sticky thead th for visual separation. Reset th position to static
on mobile to avoid stacking context issues.
Co-Authored-By: Claude <noreply@anthropic.com>
The smooth scroll behavior felt sluggish on a 505-row page. Instant
jump is more responsive for a utility button.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace hidden attribute on filter-bar with opacity/transform transition
driven by a .visible class, allowing smooth fade-in/slide-down when a
filter is active. Add staggered hero-in keyframe animations to the page
title, subtitle, action buttons, and search box. Polish sortable table
headers with color transition on hover and active states.
Co-Authored-By: Claude <noreply@anthropic.com>
Previously used right: max(1.5rem, calc(50vw - 700px + 0.5rem)) which
caused the button to overlap content at certain viewport widths. Switch
to left: 50% with margin-left: -2rem to keep it centered relative to
the viewport without interfering with sidebar or content layout.
Co-Authored-By: Claude <noreply@anthropic.com>
Adds a fixed-position button that fades in after scrolling 600px and
smoothly scrolls back to the top on click. Hidden by default via the
HTML hidden attribute so noscript users never see it.
Co-Authored-By: Claude <noreply@anthropic.com>
Within the same star count, built-in (stdlib) entries were interleaved
with third-party entries. Add a builtin tier to the sort key so stdlib
entries always rank below non-stdlib entries at equal star counts.
Co-Authored-By: Claude <noreply@anthropic.com>
Stdlib entries now show a "Built-in" tag alongside their regular
category tag. The tag is clickable and filters to all 17 stdlib
entries. Added to data-cats attribute so existing filter logic works.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Entries with source_type 'Built-in' have no extractable GitHub repo key
from their URL, so they never received star/metadata enrichment. Fall
back to python/cpython for these entries so the star count and related
data are populated correctly.
Co-Authored-By: Claude <noreply@anthropic.com>
Previously, two entries sharing the same URL but different names would be
collapsed into one. Using a composite (url, name) key preserves distinct
entries while still merging true duplicates.
Co-Authored-By: Claude <noreply@anthropic.com>
Detect the hosting source (stdlib, GitLab, Bitbucket, External) from
the entry URL and surface it as a small badge in the stars column where
a star count would otherwise show an em dash.
Stdlib entries also get their own sort tier — between starred entries
and other no-star entries — so the standard library is not buried at
the bottom of each category.
Co-Authored-By: Claude <noreply@anthropic.com>
spark.ml, django.db.models, and geodjango were pointing to
documentation pages as their primary link rather than the
GitHub repository. Move docs URLs inline as descriptive links
so the primary link follows the standard GitHub-first convention.
Co-Authored-By: Claude <noreply@anthropic.com>
Several sections were removed in recent cleanup commits, so the previous
floor of 76 was no longer accurate.
Co-Authored-By: Claude <noreply@anthropic.com>