Repository navigation
fix(docs): use shared styling controls in markdown renderer - #21
Conversation
Apply the reviewed repository updates. Validation: git diff --check passed.
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e7f7d8d3d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| yaml: | ||
| specifier: ^2.7.0 | ||
| version: 2.9.1 | ||
| ../template: |
There was a problem hiding this comment.
Restore the root package importer in the lockfile
The lockfile now contains only a ../template importer, while the workspace in pnpm-workspace.yaml installs the root package and all three jobs in check.yml run pnpm install --frozen-lockfile. Reproducing that install reports ERR_PNPM_OUTDATED_LOCKFILE because all 54 root dependencies are absent, so CI and the release workflow cannot install dependencies until the .. importer is regenerated.
Useful? React with 👍 / 👎.
| ); | ||
| const member = value as RichBlock; | ||
| if (member._type === 'block') return <PortableTextBlockView block={member} />; | ||
| if (member._type === 'tabs' || member._type === 'accordion') { |
There was a problem hiding this comment.
Preserve direct rendering of structured groups
This compatibility conversion now runs only through NestedContent, but DocsRichBlock remains a public export and previously accepted top-level structured tabs and accordion records. A consumer rendering either record directly now falls through the DocsRichBlock switch and receives the unsupported-block <pre> instead of the shared tabs or accordion UI; keep the conversion in the public renderer as well as the nested path.
Useful? React with 👍 / 👎.
| // Use the consumer's React installation once, while leaving `server` | ||
| // subpaths unaliased so Vite can select their environment-specific entry. | ||
| dedupe: ['react', 'react-dom'], |
There was a problem hiding this comment.
Retain the React fallback for content-only consumers
The documented pnpm starter installs only @terra-symposium/docs, so it has no project-root react or react-dom dependency. Removing sharedReactAliases() leaves the existing dedupe setting to resolve those imports from the consumer project root—exactly the behavior specified by Vite's resolve.dedupe documentation—rather than falling back to Docs' nested dependencies, causing the starter's Astro build to fail resolving React. Keep the package fallback aliases or require React dependencies in every generated consumer.
Useful? React with 👍 / 👎.
| title: pageNavigationTitle( | ||
| page.sidebarLabel ?? page.title, | ||
| page.slug.split('/').at(-1) ?? '', |
There was a problem hiding this comment.
Strip ordering prefixes from generated page titles
For a page such as docs/01-intro/index.md without frontmatter or an H1, this new normalization strips 01- only from the navigation node (and the search index now strips it separately), while sitePages still generates page.title as 01 Intro. The route page passes that unnormalized value to the document header and HTML <title>, so the same page is labeled “Intro” in navigation/search but “01 Intro” in its content; normalize the generated fallback title as well.
Useful? React with 👍 / 👎.
…ex/docs-shared-controls-20261112 # Conflicts: # .github/workflows/publish.yml # bin/docs.mjs # config/quality.json # config/tailwind.postcss.config.cjs # package.json # scripts/audit-uni-render.mjs # site/config/astro.config.mjs # site/src/components/DocsSiteIsland.tsx # site/src/lib/catalog.ts # site/src/pages/[...slug].astro # src/components/Docs.tsx # src/components/LocalDocsWorkspace.tsx # src/components/NotFound.astro # src/components/SiteLayout.astro # src/components/StaticWorkspace.tsx # src/components/blocks.tsx # src/components/terra/Workspace.tsx # src/components/terra/editor/docs/_CodeBlock.tsx # src/components/terra/editor/docs/_DocsCode.tsx # src/components/terra/editor/docs/_Embed.tsx # src/components/terra/editor/docs/_Math.tsx # src/components/terra/editor/docs/_Nodes.tsx # src/components/terra/editor/docs/_Raw.tsx # src/components/terra/editor/docs/_TsDocs.tsx # src/components/terra/editor/docs/_editor.tsx # src/components/terra/flow/Nodes.tsx # src/components/terra/pages/docs/_attachments.tsx # src/components/terra/pages/docs/_editable.tsx # src/components/terra/pages/docs/_main.tsx # src/components/terra/pages/docs/_sidebar.tsx # src/components/terra/pages/docs/_toolbar.tsx # src/components/terra/pages/docs/_tree.tsx # src/lib/block-types.ts # src/lib/markdown-model.ts # src/lib/terra/docs/editor-dom.ts # src/lib/terra/docs/mutations.ts # src/lib/terra/docs/state.ts # src/lib/terra/docs/workspace.ts # src/lib/terra/regex.d.mts # src/lib/terra/regex.mjs # src/lib/terra/runtime/action-proxy.ts # src/lib/terra/runtime/content.ts # src/lib/terra/runtime/content/markdown.ts # src/lib/terra/runtime/nodes.ts # src/lib/terra/runtime/runtime.ts # src/lib/terra/runtime/shared.ts # src/lib/terra/runtime/types.ts # test/blocks.test.mjs # test/browser/components/terra/editor/docs/embed.spec.ts # test/browser/components/terra/editor/docs/math.spec.ts # test/browser/components/terra/editor/docs/nesting.spec.ts # test/browser/components/terra/editor/docs/raw.spec.ts # test/browser/components/terra/editor/docs/registry.spec.ts # test/browser/components/terra/editor/docs/table.spec.ts # test/browser/workspace.spec.ts
Summary
Push the current repository snapshot for review.
Validation