Repository navigation
Add publisher discovery, namespace profiles, and package URLs - #183
Merged
Merged
Conversation
josbeir
marked this pull request as draft
November 13, 2026 14:02
josbeir
force-pushed
the
feature/namespace-pages
branch
from
November 13, 2026 14:25
bf9c036 to
83529bf
Compare
josbeir
marked this pull request as ready for review
November 13, 2026 15:45
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.
Adds
/publishersto discover the people and teams behind the catalogue. Rankings default to monthly downloads of plugins compatible with the newest tracked CakePHP major. Visitors can select older majors or all versions, rank by lifetime downloads, stars, or plugin count, and search and paginate with URL-backed Interact state. Rows include avatars or initials, rank badges, two popular plugins, exact accessible counts, and latest release dates. The directory does not fetch GitHub API metadata.Public namespace profiles live at
/plugins/{namespace}and plugin details at/plugins/{namespace}/{name}. Profiles retain the catalogue filters and include a themed animated hero, stable staggered counters, GitHub/Packagist links, and lazily loaded avatars and bios with DaisyUI skeletons and fallbacks. The Back link returns to the referring local page with its filters, falling back to the catalogue for direct visits. Navigation and forms also work without JavaScript.Imports derive an indexed Composer namespace and store monthly downloads. Apply both new migrations and clear schema metadata when deploying. Existing monthly counts remain unknown until the next successful Packagist sync; incomplete publisher totals are not presented as zero or partial figures. Monthly downloads cover all releases of compatible packages, rather than downloads attributed to a specific CakePHP version.
GitHub profile and login membership requests share a container-injected API service, with optional
GITHUB_API_TOKENauthentication and public avatar fallbacks under rate limiting. Routine dependencies use autowiring, with resolution caching when debug is disabled; Interact island roots remain fresh.Validation: