Skip to content

Add product registry definitions for the Docusaurus build - #7233

Merged
josh-heyer merged 2 commits into
developfrom
docusaurus-product-registry
Oct 27, 2026
Merged

josh-heyer merged 2 commits into
developfrom
docusaurus-product-registry

Conversation

@josh-heyer

@josh-heyer josh-heyer commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

What Changed?

Adds a .registry.yaml file to each top-level content directory, and one in each directory that holds a nested product, such as advocacy_docs/pg_extensions/pg_squeeze/. Each file says what the product in its directory is: whether it's a product or a section, its display names, its aliases, its icon and which subdirectories are versions. For example, product_docs/docs/pgd/.registry.yaml:

kind: product
names:
  name: EDB Postgres Distributed (PGD)
  shortName: EDB Postgres Distributed
  abbreviation: PGD
icon: default/HighAvailability
versions: all

These definitions are for the Docusaurus build. The Gatsby build doesn't read them, and gatsby-config.js now tells its filesystem sources to ignore them. Without that, Gatsby would publish each file to the site, because it copies every .yaml file it sources into public/.

edb-postgres-ai is split across both content roots. Its one definition is in product_docs/docs/edb-postgres-ai/, where its version directories are.

The expression-replacement demo

The playground's expression-replacement page moves to expression-replacement/index.mdx (same URL), with its own .registry.yaml holding the names src/constants/products.js gives "Expression Replacement". In the Docusaurus build that name was an alias on the playground section, which has no short name, so the page's "Scope of" heading rendered an error. The Gatsby build is unchanged: the page's product: and version: frontmatter still map to products.js.

For writers, once the Docusaurus build reads these files: adding a new top-level product directory, or a new version of edb-postgres-ai, needs a matching change to its .registry.yaml in the same PR. Most versioned products use versions: all, so adding a version to them needs no change.

🤖 Generated with Claude Code

One .registry.yaml per top-level content directory, and one in each
directory holding a nested product. Each says what the product in its
directory is: kind, display names, aliases, icon, versions. Keeping them
next to the content means a change to a product's content and to its
definition land in the same PR, and a lint check can hold them to each
other.

edb-postgres-ai's definition is under product_docs/docs, which holds its
version directories; its two nested products are in advocacy_docs.

The Gatsby build ignores them: sourced, each would become a File node,
and onCreateNode copies every .yaml file into public/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@josh-heyer josh-heyer added the deploy Add this label to a PR and it will automatically be deployed to netlify label Oct 27, 2026
The playground's expression-replacement page names a pseudo-product,
"Expression Replacement", which the Gatsby build defines in
src/constants/products.js. In the Docusaurus build's definitions it was
an alias on the playground section, which has no short name, so the
page's "Scope of" heading rendered an error there.

The page moves to expression-replacement/index.mdx (same URL), beside
its own .registry.yaml carrying the names from products.js, and the
alias moves there from the playground's definition. The Gatsby build is
unchanged: the page's product: and version: frontmatter still map to
products.js.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@josh-heyer
josh-heyer merged commit 622fc77 into develop Oct 27, 2026
12 checks passed
@josh-heyer
josh-heyer deleted the docusaurus-product-registry branch October 27, 2026 03:02

This branch was successfully deployed

1 active deployment
deploy-preview — f8de3265 Deployed Oct 27, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deploy Add this label to a PR and it will automatically be deployed to netlify

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant