Skip to content

Codex: sort landing sections alphabetically and redesign cards#3517

Open
reakaleek wants to merge 3 commits into
mainfrom
massive-march
Open

Codex: sort landing sections alphabetically and redesign cards#3517
reakaleek wants to merge 3 commits into
mainfrom
massive-march

Conversation

@reakaleek

@reakaleek reakaleek commented Jun 17, 2026

Copy link
Copy Markdown
Member

Why

The codex landing page listed groups first, then ungrouped doc sets — in whatever order the config defined them. Users had no way to predict where a doc set would appear. Cards were also oversized and lacked a machine-readable path, making ctrl+F searches unreliable.

What

  • Groups and ungrouped doc sets are now sorted together alphabetically by title, so the grid order is consistent and predictable.
  • Group cards expand into a header + inner grid: the group title/description/icon appears at the top, and each of its doc sets is shown as a compact card below, with adaptive column spanning (1, 2, or 3 cols) based on how many repos the group contains.
  • Doc set cards are more compact: smaller icon, tighter padding, description clamped to 2 lines.
  • A RepoPath (e.g. /r/beacon) is now rendered in monospace below each card title, so users can find a doc set with browser ctrl+F using its URL path.

Screenshot

image

- Sort groups and ungrouped doc sets together by title so the grid is
  consistent regardless of config order
- Expand group cards into a header + inner grid: each group shows its
  doc sets inline, with adaptive column span based on repo count
- Compact card layout: smaller icon, tighter padding, description
  clamped to 2 lines
- Add RepoPath property to CodexCardModel and render it as a monospace
  subtitle (e.g. /r/beacon) so users can find doc sets via ctrl+F

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4f959af6-1b5d-454b-a32c-bf60d35f466f

📥 Commits

Reviewing files that changed from the base of the PR and between 0386e75 and e4f0d1c.

📒 Files selected for processing (5)
  • src/Elastic.Codex/Group/GroupLandingView.cshtml
  • src/Elastic.Codex/Landing/CodexCardModel.cs
  • src/Elastic.Codex/Landing/LandingView.cshtml
  • src/Elastic.Codex/Navigation/CodexIndexPage.cs
  • src/Elastic.Codex/Navigation/CodexNavigation.cs
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/Elastic.Codex/Landing/CodexCardModel.cs

📝 Walkthrough

Walkthrough

CodexDocumentationSetInfo gains a computed RepoPath property, and CodexCardModel gains a nullable RepoPath init-only property populated from docsets during model creation. The navigation builder is simplified to pass the computed Url directly into group/root attachment instead of constructing an intermediate path prefix. LandingView.cshtml merges groups and ungrouped documentation sets into a single case-insensitively sorted list, rendering both types in one loop with conditional layout branching. GroupLandingView.cshtml delegates model creation to CodexCardModel.FromDocumentationSet(). The _CodexCard.cshtml partial receives refreshed Tailwind layout styling and a conditional block rendering the repo path when present.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately captures the main changes: alphabetical sorting of landing sections and card redesign/compaction with new RepoPath display.
Description check ✅ Passed The description clearly explains the problem (unpredictable doc set order, oversized cards, no machine-readable paths), the solution (alphabetical sorting, compact redesign, RepoPath rendering), and includes a screenshot.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch massive-march

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@reakaleek reakaleek marked this pull request as draft June 17, 2026 07:48
Hoist the CodexDocumentationSetInfo to CodexCardModel mapping into one
factory so every docset card renders the same fields, fixing top-level
docset cards that had silently dropped the /r/... subtitle. Make RepoPath
a computed property instead of redundant stored state, and reuse the
docset URL instead of rebuilding the /r/{repo} segment three times.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant