Hub pages 3/4: {get-started} - #3827
Draft
florent-leborgne wants to merge 6 commits into
Draft
Conversation
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 07:56
ed21c2f to
8cc8882
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 08:50
8cc8882 to
62b273f
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 13:32
62b273f to
2e0a6f7
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 15:16
2e0a6f7 to
efa41f6
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 15:50
efa41f6 to
d29c99e
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 16:11
d29c99e to
f02a11e
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 11, 2026 16:19
f02a11e to
13a991f
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 08:35
dd48f97 to
3b85606
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 09:40
3b85606 to
20170b3
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 11:03
20170b3 to
0bbe5cc
Compare
Mpdreamz
approved these changes
Aug 13, 2026
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 15:57
7f3d872 to
4d8adae
Compare
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 16:42
4d8adae to
afc2c3d
Compare
The onboarding section of a hub page. It gives a new reader one opinionated path to a first success, before they face the full link list. The section is optional. Keeps the top-level install and tutorial pair as first-class fields rather than treating it as prototype back-compatibility. The designs use exactly that shape: a copyable command beside a tutorial card, with numbered steps below. The install snippet renders inside `.highlight pre` with a language class, which is what the site's copy button and syntax highlighter already select on. Both work with no extra wiring, because the hub layout kept the markdown-content id. Steps take one of three shapes: plain, a whole-card link, or two or more equally weighted options side by side. Numbering is automatic and sits before the title, because the section describes a sequence and the number is what carries that. Drops the prototype's per-step icon field. The icons restate the step title, the number badge is already the visual anchor, and a schema field for decoration makes every author pick icons that then drift between hubs. The LLM export renders the steps as an ordered list with options as sub-items. The search body gets nothing, for the same reason as the other hub directives. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Martijn's review on #3825 covered the whole page, so the same rules apply here. - Get started type moves onto the site's scale. The values it carried were 16px-root arithmetic against a 14px root, so every one rendered small. - Step numbers move from grey-70 to ink-light. grey-70 reads at 3.31:1 on white, short of the 4.5:1 minimum, and ink-light carries the same quiet weight at 7.03:1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Martijn's point about tiny fonts applies to every piece of hub text. Step descriptions, option labels, option descriptions, option buttons, and the step links now read at the body size. The install command keeps 14px, which is what every other code block on the site renders at. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Both links that carry an arrow here send the reader onward out of the card, which is one of the two cases the site marks. They now use the same glyph and hover slide as every other hub arrow. The option button carries none, like every other button on the site. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Nothing in the schema limited the section to three steps. One CSS rule did: when a step carried options, the grid locked to two tracks, which suits one wide step and two others exactly. A fourth step left one card alone on a half-width row. The directive now counts the steps that flow in columns and sets the track count. Three across when they divide by three, two when they are even, so the last row is never short. A step carrying options still spans the full row and takes no track. Below 640px of available width the steps stack. The width is measured on the section rather than the viewport, because the left sidebar narrows the body. The example hub gains a fourth step, so the preview shows the new arrangement. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The step card hovered to a blue border while the other two card types
hovered to grey. Blue also makes one step in a sequence look like the call
to action. It now uses grey-80, the same treatment as {page-card} and a
linked {link-card}.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
florent-leborgne
force-pushed
the
feature/hub-get-started
branch
from
August 13, 2026 17:10
afc2c3d to
7f4e824
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 3 of 4, based on #3826. Implements elastic/docs-content-internal#1382.
Demo: https://docs-v3-preview.elastic.dev/elastic/docs-builder/pull/3827/examples/products/docs-builder
The onboarding section of a hub page. It gives a new reader one opinionated path to a first success, before they face the full link list. The section is optional.
Structure
A numbered list of steps, of any length. The first often offers two equally weighted ways to start, and the rest are single steps.
title,options[]title,description,link,link-labeltitle,descriptionNothing renders between the intro and the numbered list. An install command belongs in
steps[0].options[], which keeps the whole path inside the numbered sequence. The prototype'sinstallandtutorialfields are removed: they placed content above the steps, which the structure does not call for.Implementation choices
A linked step hovers grey, not blue. Blue makes one step in a sequence look like the call to action, and it differed from the other card types. Every card on a hub page that is itself a link now hovers the same way, matching
{page-card}.The step count is not fixed. The prototype's layout assumed three. The directive now counts the steps that flow in columns and sets the track count: three across when they divide by three, two when they are even, so the last row is never short. A step carrying
optionsspans the full row and takes no track. Below 640px of available width the steps stack into one column, measured on the section rather than the viewport, because the left sidebar narrows the body.A step option's command uses the standard code block. It renders inside
.highlight prewith a language class, which is what the site's copy button and syntax highlighter select on. Both attach with no extra wiring, because the hub layout kept themarkdown-contentid in #3825. That gives the Copy affordance the designs show.Step numbering sits before the title. The section describes a sequence, and the number is what carries that. The designs put it in the card corner, which turns it into a decorative counter the reader meets after the title.
No per-step icon. The prototype has
steps[].icon, resolved throughEuiSvgIcons. It is removed. In the designs the icons restate the step title, the number badge is already the card's visual anchor, and a schema field that exists for decoration means every author picks icons that then drift between hubs.Machine-readable output. The LLM export renders steps as an ordered list, with options as sub-items carrying their command or link. The search body gets nothing, as with the other hub directives.
Example page
The example hub's section uses every field once and shows all three step shapes. It carries four steps, so the preview shows a section that is not the three-step case the prototype assumed.
Testing
./build.sh unit-testpasses.dotnet formatandnpm run fmt:checkare clean. A full docs build reports 0 errors and 0 warnings.tests/authoring/Blocks/Hub/GetStarted.fscovers all three step shapes, the track count for four steps with and without a wide step, a step option's command landing in a highlightable code block, automatic numbering, that nothing renders above the steps, and two failure paths.Screenshots to add or update
None attached. The side-by-side option layout in step one is worth checking on the preview.