Skip to content

Adding cosmonic to sponsor slider#6

Merged
LiamRandall merged 1 commit into
mainfrom
sponsor
May 19, 2021
Merged

Adding cosmonic to sponsor slider#6
LiamRandall merged 1 commit into
mainfrom
sponsor

Conversation

@LiamRandall
Copy link
Copy Markdown
Member

No description provided.

@LiamRandall LiamRandall merged commit ad8429a into main May 19, 2021
@brooksmtownsend brooksmtownsend deleted the sponsor branch May 8, 2023 16:53
ericgregory added a commit that referenced this pull request Jun 3, 2026
… + FAQ guard

Four fixes surfaced by the structured-data PR code review.

1. M6 glossary entity cross-link was silently broken — 11 of 14
   entity_slug values in src/data/glossary.json used wrong casing vs the
   keys in src/data/entities.json, so getEntityBySlug() returned undefined
   and no sameAs edge ever landed. The 12th entry referenced 'WashCli',
   which doesn't exist as an entity (the 'wash' key does). Corrected:
   CapabilityBasedSecurity -> capabilityBasedSecurity, AmbientAuthority
   -> ambientAuthority, DenyByDefault -> denyByDefault, BlastRadius ->
   blastRadius, Mcp -> MCP, Nats -> NATS, AiSandbox -> AISandbox,
   VibeCoding -> vibeCoding, AgenticAi -> agenticAI, WashCli -> wash,
   Wasi -> WASI. All 14 cross-links now resolve.

2. doc-page-schema.tsx claimed in its JSDoc to support a frontmatter
   'author:' override but the code hardcoded author to PUBLISHER_REF.
   Implemented buildDocAuthor() that accepts a string, an object with
   name/title/url/image, or an array of either — falling back to the
   wasmCloud project Organization when nothing parseable is present.
   Mirrors the blog buildAuthors() pattern at a lower verbosity since
   docs don't use authors.yml.

3. breadcrumbs.tsx produced visually wrong intermediate crumbs:
     /docs/v1/concepts/  ->  Home / Docs / V1 / Concepts
     /blog/page/2/       ->  Home / Blog / Page / 2
   Versioned-docs version segments and blog/community pagination
   markers are URL path components, not real navigable pages. They now
   contribute to URL accumulation for subsequent crumbs but are absent
   from the visible chain — except when a version segment is the LAST
   segment (e.g. landing on '/docs/v1/' itself). Version labels also
   preserve their original lowercase casing so 'v1' renders as 'v1' not
   'V1' on the landing-page case. Position numbering recomputed after
   skips so the BreadcrumbList list-item positions stay 1..N contiguous.

4. faq-schema.tsx had no mounting guard — would emit FAQPage JSON-LD on
   any page that imported it. Risk #6 in the spike is exactly this
   (FAQPage schema on a non-Q&A page is a manual-action risk). Added a
   useDoc-based path check that allows /docs/faq/ (and, defensively,
   /docs/{version}/faq/) and silently returns null elsewhere.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
LiamRandall pushed a commit that referenced this pull request Jun 3, 2026
… + FAQ guard

Four fixes surfaced by the structured-data PR code review.

1. M6 glossary entity cross-link was silently broken — 11 of 14
   entity_slug values in src/data/glossary.json used wrong casing vs the
   keys in src/data/entities.json, so getEntityBySlug() returned undefined
   and no sameAs edge ever landed. The 12th entry referenced 'WashCli',
   which doesn't exist as an entity (the 'wash' key does). Corrected:
   CapabilityBasedSecurity -> capabilityBasedSecurity, AmbientAuthority
   -> ambientAuthority, DenyByDefault -> denyByDefault, BlastRadius ->
   blastRadius, Mcp -> MCP, Nats -> NATS, AiSandbox -> AISandbox,
   VibeCoding -> vibeCoding, AgenticAi -> agenticAI, WashCli -> wash,
   Wasi -> WASI. All 14 cross-links now resolve.

2. doc-page-schema.tsx claimed in its JSDoc to support a frontmatter
   'author:' override but the code hardcoded author to PUBLISHER_REF.
   Implemented buildDocAuthor() that accepts a string, an object with
   name/title/url/image, or an array of either — falling back to the
   wasmCloud project Organization when nothing parseable is present.
   Mirrors the blog buildAuthors() pattern at a lower verbosity since
   docs don't use authors.yml.

3. breadcrumbs.tsx produced visually wrong intermediate crumbs:
     /docs/v1/concepts/  ->  Home / Docs / V1 / Concepts
     /blog/page/2/       ->  Home / Blog / Page / 2
   Versioned-docs version segments and blog/community pagination
   markers are URL path components, not real navigable pages. They now
   contribute to URL accumulation for subsequent crumbs but are absent
   from the visible chain — except when a version segment is the LAST
   segment (e.g. landing on '/docs/v1/' itself). Version labels also
   preserve their original lowercase casing so 'v1' renders as 'v1' not
   'V1' on the landing-page case. Position numbering recomputed after
   skips so the BreadcrumbList list-item positions stay 1..N contiguous.

4. faq-schema.tsx had no mounting guard — would emit FAQPage JSON-LD on
   any page that imported it. Risk #6 in the spike is exactly this
   (FAQPage schema on a non-Q&A page is a manual-action risk). Added a
   useDoc-based path check that allows /docs/faq/ (and, defensively,
   /docs/{version}/faq/) and silently returns null elsewhere.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants