Skip to content

[site-server] Plan for catalog routes #1367

Open
@justinfagnani

Description

@justinfagnani

The catalog will have a number of routes with different query and DB schema requirements:

/

The home page of the site will show some catalog data like potentially: featured components, an embedded search widget, recently updated components, etc.

/catalog

The /catalog route can be accessed with no URL query parameters, or URL query parameters associated with a user query, like /catalog?query=foo&dist-tag=next.

We have a few options on how we treat the bare /catalog URL:

  • Show no results and a "Enter a query to search for elements" message in the results pane.
  • Show featured or recently updated elements
  • Show the results for an empty query - which would presumably be shown by the default sorting method, which in turn is presumably based on some ranking score, so this would be effectively "top elements"
  • Pick a random and possibly rotating query to start with.

/catalog/element/:path+

The page for a single element. This is what searches will link to and likely the most important page after search.

/catalog/featured

Depending on how we structure featured elements, we may query the elements with a predicate that they are featured, or we may have to query a featured elements table that describes "sets" of featured elements (like "Featured Elements 2022-09-27"). If we have "sets", then the page might display those sets in order, and elements could appear in more than one set.

/catalog/collections

Here we'd like to show a list of featured / popular collections

/catalog/collection/:collectionName

The hope page of a collection will show some README-style information, a list of elements in the collection, and possibly collection-wide demos.

/catalog/package/:packageName

The home page of a package. Shows package level docs and a list of elements in the package.

/catalog/package/:packageName/module/:path+

Shows the API docs derived from the CE manifest for a specific module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    New SiteIssues for the rewrite of the site and catalog.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions