Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
d75da63
Prototype nav-v2: label sections, accordion sidebar, feature flag
theletterf Mar 20, 2026
0f58ae0
Fix accordion: unique IDs per label section
theletterf Mar 20, 2026
407c477
Rewrite navigation-v2.yml with proposed IA (6 top-level labels, neste…
theletterf Mar 20, 2026
76657fb
Labels always expanded with no toggle; only TOC folders toggle
theletterf Mar 20, 2026
3213a5c
Update nav-v2-status.md: verified behaviours, open items, build commands
theletterf Mar 20, 2026
33502f5
Style level-2 labels as small-caps dividers to distinguish from level-1
theletterf Mar 20, 2026
cd3075b
Level-1 labels: small-caps uppercase + ruled separator between groups
theletterf Mar 20, 2026
e0cc136
Improve level-2 label legibility: text-xs at 65% opacity
theletterf Mar 20, 2026
a870f12
Update nav-v2-status.md: document label typography hierarchy
theletterf Mar 20, 2026
41c1ca2
Add PR link and commit workflow to nav-v2-status.md
theletterf Mar 20, 2026
858593e
Add group: placeholder folder type; build Ingest or migrate section
theletterf Mar 20, 2026
027fcd7
Fix YAML quoting for group title containing colon
theletterf Mar 20, 2026
4490cf9
Build full nav skeleton from JSON IA design
theletterf Mar 20, 2026
c808a6e
Fix CI failures: AOT-compatible deserializer and unused import
theletterf Mar 20, 2026
1e81481
Address code review: LINQ refactor and flatten nested if
theletterf Mar 20, 2026
99670dd
Fix Prettier formatting in pages-nav-v2.ts
theletterf Mar 20, 2026
5c7380b
Wire up page: cross-link resolution in V2 nav
theletterf Mar 20, 2026
b7172c6
Fix IDE0370: remove unnecessary null-forgiving operators in SiteNavig…
theletterf Mar 20, 2026
18540af
Expand nav to current page on direct URL load
theletterf Mar 20, 2026
c9160ce
Revert URI-derived path prefix experiment; document limitation in PR
theletterf Mar 20, 2026
e7c8292
Wire Reference section in navigation-v2.yml with real toc and page en…
theletterf Mar 20, 2026
3fa5e19
Wire Troubleshooting section with page: cross-links
theletterf Mar 20, 2026
69d6c32
feat(nav-v2): page-folder group node; migrate section and Reference/T…
theletterf Mar 23, 2026
9942d3a
fix(nav-v2): check group: before page: in YAML parser to support page…
theletterf Mar 23, 2026
0b4bb8d
docs: update nav-v2-status.md to reflect current prototype state
theletterf Mar 24, 2026
15b3bef
feat(nav-v2): generate stub pages for placeholder nav items
theletterf Mar 24, 2026
eea7a08
docs(nav-v2): update status — placeholder items now generate stub pages
theletterf Mar 24, 2026
db10774
fix(nav-v2): use absolute URL path prefix for placeholder page static…
theletterf Mar 24, 2026
6b953fd
feat(nav-v2): wire Explore/Visualize, Share/Alert/Automate, and AI/ML…
florent-leborgne Mar 24, 2026
8c2d0d8
feat(nav-v2): wire Solutions and project types section with full dept…
florent-leborgne Mar 24, 2026
8c1645c
Merge remote-tracking branch 'origin/main' into nav-v2
theletterf Mar 24, 2026
0278198
Merge branch 'nav-v2' of github.com:elastic/docs-builder into nav-v2
theletterf Mar 24, 2026
6d747b1
feat(nav-v2): restructure AI and machine learning section (#2965)
florent-leborgne Mar 25, 2026
b00e1db
refactor(nav-v2): promote Ingest tools to L1 under Ingest and manage …
theletterf Mar 25, 2026
216ec9c
Merge branch 'main' into nav-v2
florent-leborgne Mar 27, 2026
c34c969
feat(nav-v2): promote Workflows to its own top-level label (#2976)
florent-leborgne Mar 27, 2026
afd4977
feat(nav-v2): rename section to "Track and respond"
florent-leborgne Mar 27, 2026
defdce1
feat(nav-v2): sidebar tree, styles, and folder UX
itsalexcm Mar 30, 2026
3aa6eee
feat(nav-search): polish in-sidebar jump-to-page component
itsalexcm Mar 30, 2026
e60bd4b
style(toc): align in-page and API TOC link padding with sidebar
itsalexcm Mar 30, 2026
c08b6e3
Merge branch 'main' into nav-v2
itsalexcm Mar 30, 2026
1f3f702
style: fix Prettier formatting in pages-nav-v2.ts and styles.css
theletterf Mar 30, 2026
313138a
Wire Elasticsearch fundamentals and Ingest data storage nav sections …
theletterf Mar 31, 2026
6a667dc
Wire Ingest logs, APM agents, and clean up nav labels (#3004)
theletterf Mar 31, 2026
369e518
Merge branch 'main' into nav-v2
theletterf Mar 31, 2026
beefc87
feat(nav-v2): rename Agentless group, add integrations reference page
theletterf Mar 31, 2026
c4cbed6
fix(nav-v2): generate stub pages for placeholders nested inside real …
theletterf Mar 31, 2026
92d4829
feat(nav-v2): single-line nav labels with ellipsis and truncated-only…
itsalexcm Mar 30, 2026
6cad4aa
feat(nav-v2): ancestor folder highlight and expand/collapse behaviour
itsalexcm Mar 31, 2026
f1c3e2a
style(nav-v2): section labels, tree spacing, and active row chrome
itsalexcm Mar 31, 2026
e4171a2
feat(nav-v2): move perform-index-operations per docs-content#5279
theletterf Apr 1, 2026
65579de
Merge branch 'main' into nav-v2
theletterf Apr 1, 2026
29ba44f
style: fix Prettier formatting in pages-nav-v2.ts and styles.css
theletterf Apr 1, 2026
d828f09
fix(nav-v2): ancestor folder ink and deepest current link
itsalexcm Apr 1, 2026
d4bdd09
style: fix Prettier formatting in pages-nav-v2.ts and styles.css
theletterf Apr 2, 2026
a6399e3
Merge remote-tracking branch 'origin/main' into nav-v2
theletterf Apr 2, 2026
b8e3e80
fix: resolve fs → readFs after merge with main
theletterf Apr 2, 2026
0f21dd1
Update Azure EDOT CF version (#3022)
theletterf Apr 2, 2026
bebeab4
Enable AOT/trim analyzers on library projects and skip AOT publish on…
reakaleek Apr 2, 2026
11895b4
HTML: Omit version meta tags for versionless pages (#3020)
reakaleek Apr 2, 2026
a88ea32
Layout: Adapt to static elastic-nav by making secondary nav sticky (#…
reakaleek Apr 2, 2026
cf5e8e8
[DOCS] Add profile example for --all bundle, fix path for changelog s…
lcawl Apr 2, 2026
a798bb0
Deploy: separate read/write scoped filesystems in IncrementalDeploySe…
Mpdreamz Apr 2, 2026
c69e47f
Add skip-labels to evaluate-pr's output (#3013)
cotti Apr 2, 2026
e49938a
fix(markdown): use placeholder rule when detection rule TOML cannot b…
itsalexcm Apr 7, 2026
822bba0
fix(site): use #pages-nav for cross-group HTMX OOB and omit preload w…
itsalexcm Apr 7, 2026
287adac
feat(site): enable navigation V2 shell for isolated documentation serve
itsalexcm Apr 7, 2026
5debd27
fix(docs-builder): serve dev Site _static for assembler serve; bust s…
itsalexcm Apr 7, 2026
a521e8b
feat(site): refine navigation V2 sidebar spacing, typography, and hov…
itsalexcm Apr 7, 2026
94ec3bf
Merge branch 'main' into nav-v2
itsalexcm Apr 7, 2026
4130966
Wire Install, deploy, and administer nav section (#3049)
theletterf Apr 8, 2026
1dfdeb1
Propose IA changes to nav-v2 (#3024)
alexandra5000 Apr 15, 2026
b767e2b
Merge branch 'main' into nav-v2
theletterf Apr 15, 2026
46d2f6e
fix(nav-v2): use resolvable EDOT SDK navigation links
theletterf Apr 15, 2026
2eaa6f4
Merge remote-tracking branch 'origin/main' into nav-v2
theletterf Apr 16, 2026
21e88aa
feat(nav-v2): add section: item type for independent nav islands
theletterf Apr 16, 2026
071f456
feat(nav-v2): migrate top-level labels to section: items
theletterf Apr 16, 2026
3a46434
feat(nav-v2): wrap all content in Docs section; add Release notes, Tr…
theletterf Apr 16, 2026
ef333f8
fix(nav-v2): compact left-aligned top bar, section root highlight, au…
theletterf Apr 16, 2026
23f27b3
feat(nav-v2): add Extension points and Account isolated sections; rem…
theletterf Apr 16, 2026
7fed2c5
fix: correct import ordering in PlaceholderPageWriter
theletterf Apr 16, 2026
cdabed1
feat(nav-v2): support absolute URLs for section tabs; add API reference
theletterf Apr 16, 2026
0557264
feat(nav-v2): add island: item type for intra-section nav islands
theletterf Apr 16, 2026
1e4da5a
feat(nav-v2): convert Account and preferences to island under Docs
theletterf Apr 22, 2026
710743e
Merge remote-tracking branch 'origin/main' into nav-v2
theletterf Apr 22, 2026
ca03a50
Merge branch 'nav-v2' into nav-v2-sections
theletterf Apr 22, 2026
a0b98a3
fix(nav-v2): register island root URL in island lookup
theletterf Apr 22, 2026
b813024
fix(nav-v2): use toc root identity for island lookup instead of URL m…
theletterf Apr 22, 2026
e02fc81
fix(nav-v2): scope top-level padding to label sections only
theletterf Apr 22, 2026
6803630
style: fix Prettier formatting in styles.css
theletterf Apr 22, 2026
fdb278a
fix(nav-v2): back arrow swaps full page including sidebar
theletterf Apr 22, 2026
2d20e27
fix(nav-v2): open external section links in new tab with ↗ indicator
theletterf Apr 23, 2026
c4c5bab
feat(nav-v2): rename Docs to Guides, API reference to APIs
theletterf Apr 23, 2026
13a6695
feat(nav-v2): reorder tabs by task flow
theletterf Apr 23, 2026
4e3bde9
fix(nav-v2): shorten long nav label to 'Query languages and APIs'
theletterf Apr 23, 2026
3df00ef
Merge branch 'main' into nav-v2
shainaraskas Apr 29, 2026
194a57b
Install deploy and administer refinement (#3203)
shainaraskas Apr 29, 2026
41f26a5
Merge branch 'main' into nav-v2
theletterf Apr 30, 2026
dae9fc0
feat(hubs): add Product.Hub field for product hub URL mapping
florent-leborgne Apr 30, 2026
dbda3a4
feat(hubs): add 'hub' page layout with full-width chrome
florent-leborgne Apr 30, 2026
e9676c6
feat(hubs): add {hero} directive for landing-page heroes
florent-leborgne Apr 30, 2026
ec6ff07
feat(hubs): add {card-group} and {link-card} directives
florent-leborgne Apr 30, 2026
8817c8c
feat(hubs): add 'Product hubs' top-bar section to nav-v2
florent-leborgne Apr 30, 2026
e3d365f
feat(hubs): render product badges linking to hub pages
florent-leborgne Apr 30, 2026
28cbaca
feat(hubs): style hub pages, cards, and product badges + port Kibana hub
florent-leborgne Apr 30, 2026
a7ff220
fix(hubs): suppress page preamble on hub layout, widen hub content
florent-leborgne Apr 30, 2026
26b4886
feat(hubs): rewrite hub directives to match gist prototypes
florent-leborgne Apr 30, 2026
705bd15
feat(hubs): restore full section coverage matching the gist prototypes
florent-leborgne Apr 30, 2026
7cc21db
feat(hubs): render fake search box in hero
florent-leborgne Apr 30, 2026
9179599
fix(hubs): align hero icon with H1, push description to its own row
florent-leborgne Apr 30, 2026
7940d99
feat(hubs): turn hero version pill into a real dropdown
florent-leborgne Apr 30, 2026
1908fee
feat(hubs): centralize What's new content in config/whats-new.yml
florent-leborgne Apr 30, 2026
f6ce8b8
feat(hubs): wire hub pages under testing/hubs in docs-builder nav
florent-leborgne Apr 30, 2026
24cee85
feat(hubs): rename URL segment hubs/ -> products/
florent-leborgne Apr 30, 2026
40538ef
docs(hubs): add reference pages for the hub-page directives
florent-leborgne Apr 30, 2026
171b72a
feat(hubs): make hero title and description explicit options
florent-leborgne Apr 30, 2026
9979af7
fix(hubs): make Product hubs section an external link to the gist
florent-leborgne May 1, 2026
4f247a8
Merge branch 'main' into nav-v2
florent-leborgne May 1, 2026
35aa23b
feat(hubs): redesign product badges as inline-with-title pills
florent-leborgne May 1, 2026
4481051
feat(hubs): point product badge URLs at the gist previews
florent-leborgne May 1, 2026
39fb863
Rename hub markdown 9.0.md → v9.md
florent-leborgne May 1, 2026
57ea08e
Replace page-top product badges + applies-block with a metadata box
florent-leborgne May 1, 2026
d0c4497
Restructure page-top metadata: product pills above H1, Requirements b…
florent-leborgne May 1, 2026
f569f7e
Merge nav-v2 into nav-v2-sections, reconciling navigation structure
theletterf May 4, 2026
22a6dcb
Merge remote-tracking branch 'origin/nav-v2-sections' into hub-pages
theletterf May 4, 2026
f5fea77
fix: remove unnecessary null-forgiving operators flagged as IDE0370
theletterf May 4, 2026
04f59da
fix(tests): filter page-title-row div from HTML assertions
theletterf May 4, 2026
79299cb
fix(nav): resolve V2 page: entries into NavigationDocumentationFileLo…
theletterf May 4, 2026
676566c
fix: remove hub-pages-specific config accidentally committed to nav-v2
theletterf May 4, 2026
4cc9e37
Merge remote-tracking branch 'origin/nav-v2' into nav-v2-sections
theletterf May 4, 2026
563b460
Merge remote-tracking branch 'origin/nav-v2-sections' into hub-pages
theletterf May 4, 2026
20a3966
feat(hub-pages): wire hub pages through assembler preview
theletterf May 4, 2026
6a60978
fix(site): classify Nav V2 label lists as subsection vs folder groups
itsalexcm May 4, 2026
c08b2b2
feat(site): Nav V2 search and client navigation behavior
itsalexcm May 4, 2026
c4705ec
fix(site): Nav V2 sidebar and layout styles
itsalexcm May 4, 2026
2158dec
fix(layout): in-page TOC and API TOC layout
itsalexcm May 4, 2026
0784279
chore(svg): add transition_bottom_in and transition_bottom_out icons
itsalexcm May 4, 2026
8c7d3fa
fix(nav): fix CS8120 unreachable case and IDE0058 unused TryAdd returns
theletterf May 4, 2026
52840c4
Merge nav-v2 into nav-v2-sections
theletterf May 4, 2026
c4d5edb
Merge remote-tracking branch 'origin/nav-v2-sections' into hub-pages
theletterf May 4, 2026
ca9489e
style: fix Prettier formatting in pages-nav-v2.ts and styles.css
theletterf May 4, 2026
6dde442
style: fix Prettier formatting in pages-nav-v2.ts and styles.css
theletterf May 4, 2026
10330f7
fix(assembler): warn instead of error when branch has no link index e…
theletterf May 4, 2026
a1262cd
fix(assembler): gracefully handle unpublished branches in cross-link …
theletterf May 4, 2026
c6b9d67
fix(nav): resolve V2 page entries from nested TOCs
theletterf May 4, 2026
d556dff
fix(nav): register files from unseen child TOCs
theletterf May 4, 2026
65bc6de
Refine page-top metadata: pills inside Availability box, text+? tooltips
florent-leborgne May 4, 2026
8c4af37
Merge remote-tracking branch 'origin/hub-pages' into hub-pages
florent-leborgne May 4, 2026
63f927e
Repoint product hub URLs at the real /products/<product>/v9/ pages
florent-leborgne May 4, 2026
1fab04a
Add Product hubs landing page to V2 nav
florent-leborgne May 4, 2026
1c18fa1
Update authoring snapshot tests for new applies-to tooltip copy
florent-leborgne May 4, 2026
54c3a7e
Stop pill click from toggling the metadata box
florent-leborgne May 4, 2026
3357eb6
Make hub-page navigation work cleanly from htmx-boosted swaps
florent-leborgne May 4, 2026
0bf256a
Merge branch 'nav-v2-sections' into hub-pages
florent-leborgne May 4, 2026
b0dbb3a
Redesign landing page with search-first layout and product index
KOTungseth May 5, 2026
e6c9ed6
Scope landing page styles to page content
theletterf May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions config/assembler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ environments:
path_prefix: docs
feature_flags:
SEARCH_OR_ASK_AI: true
NAV_V2: true
preview:
uri: https://docs-v3-preview.elastic.dev
path_prefix: ${ASSEMBLER_PREVIEW_PATH_PREFIX}
Expand All @@ -46,6 +47,7 @@ environments:
enabled: false
feature_flags:
SEARCH_OR_ASK_AI: true
NAV_V2: true
air-gapped:
uri: http://localhost:8080
path_prefix: docs
Expand All @@ -71,6 +73,7 @@ shared_configuration:
###
narrative:
checkout_strategy: full
current: hub-pages

###
# 'references' defines a map of `elastic/<repository_name> * <repository_config>
Expand Down
3,331 changes: 3,331 additions & 0 deletions config/navigation-v2.yml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions config/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ toc:
#############
# NARRATIVE #
#############
- toc: products
- toc: get-started
- toc: solutions
- toc: manage-data
Expand Down
2 changes: 2 additions & 0 deletions config/products.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ products:
elasticsearch:
display: 'Elasticsearch'
versioning: 'stack'
hub: 'products/elasticsearch/v9'
elasticsearch-client:
display: 'Elasticsearch Client'
versioning: 'stack'
Expand Down Expand Up @@ -207,6 +208,7 @@ products:
kibana:
display: 'Kibana'
versioning: 'stack'
hub: 'products/kibana/v9'
logstash:
display: 'Logstash'
versioning: 'stack'
Expand Down
72 changes: 72 additions & 0 deletions config/whats-new.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
###
# Centralized "What's new" feed used by the {whats-new} directive.
#
# Any page can render a product's recent highlights with:
#
# :::{whats-new}
# :product: kibana
# :::
#
# The {whats-new} directive looks the product up in this file and renders the
# full panel (header + items). Authors only edit this file; the directive
# stays trivial in markdown.
#
# An optional `id` and `badge` per product control the section anchor and the
# small badge shown to the left of the title; default badge is "New".
###

products:

kibana:
title: What's new in Kibana
id: whats-new
badge: New
release-links:
- label: '9.4'
url: https://www.elastic.co/docs/release-notes/kibana
- label: Serverless
url: https://www.elastic.co/docs/release-notes/serverless
items:
- title: Dashboards and visualizations APIs
description: Programmatically create and manage dashboards and visualizations
link: https://www.elastic.co/docs/api/doc/kibana
meta: 9.4 preview
- title: AI agent skills
description: Teach AI coding agents to work with the Elastic stack
link: https://www.elastic.co/docs/explore-analyze/ai-features/agent-skills
meta: Mar 2026
- title: Agent Builder
description: Build custom AI agents that reason over your data
link: https://www.elastic.co/docs/explore-analyze/ai-features/elastic-agent-builder
meta: 9.3 GA
- title: Workflows
description: Automate tasks with Kibana actions, HTTP calls, and AI agents
link: https://www.elastic.co/docs/explore-analyze/workflows
meta: 9.3 preview

elasticsearch:
title: What's new in Elasticsearch
id: whats-new
badge: New
release-links:
- label: '9.4'
url: https://www.elastic.co/docs/release-notes/elasticsearch
- label: Serverless
url: https://www.elastic.co/docs/release-notes/serverless
items:
- title: semantic_text field type
description: Simplify semantic search — no pipeline setup needed, just define the field and start querying
link: https://www.elastic.co/docs/solutions/search/semantic-search/semantic-search-semantic-text
meta: 9.4 GA
- title: ES|QL improvements
description: New functions, cross-cluster support, and dense vector operations directly in ES|QL queries
link: https://www.elastic.co/docs/reference/query-languages/esql/esql-getting-started
meta: '9.4'
- title: Inference API expansion
description: Connect to external AI models (OpenAI, Cohere, Anthropic, Hugging Face, Azure, Google) for embeddings and reranking
link: https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put
meta: '9.4'
- title: Breaking changes in 9.x
description: Review removed settings, deprecated APIs, and behavioral changes before upgrading from 8.x
link: https://www.elastic.co/docs/release-notes/elasticsearch/breaking-changes
meta: Upgrade guide
15 changes: 15 additions & 0 deletions docs/_docset.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ toc:
- file: applies-switch.md
- file: automated_settings.md
- file: buttons.md
- file: card-group.md
- file: changelog.md
- file: code.md
- file: comments.md
Expand All @@ -140,15 +141,20 @@ toc:
- file: file_inclusion.md
- file: footnotes.md
- file: frontmatter.md
- file: hero.md
- file: hub-pages.md
- file: icons.md
- file: intro.md
- file: images.md
- file: kbd.md
- file: link-card.md
- file: math.md
- file: diagrams.md
- file: lists.md
- file: line_breaks.md
- file: links.md
- file: list-sub-pages.md
- file: on-this-page.md
- file: passthrough.md
- file: sidebars.md
- file: stepper.md
Expand All @@ -159,6 +165,7 @@ toc:
- file: tabs.md
- file: tagged_regions.md
- file: titles.md
- file: whats-new.md
- folder: cli
children:
- file: index.md
Expand Down Expand Up @@ -232,6 +239,14 @@ toc:
- folder: testing
children:
- file: index.md
- folder: products
children:
- folder: elasticsearch
children:
- file: v9.md
- folder: kibana
children:
- file: v9.md
- file: kibana-settings-yaml-samples.md
- file: security-settings.md
- file: req.md
Expand Down
40 changes: 40 additions & 0 deletions docs/syntax/card-group.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Card group

A section heading + a card grid container. Wraps one or more [`{link-card}`](link-card.md) directives.

## Basic

```markdown
::::{card-group}
:title: Install and administer
:id: install

:::{link-card}
title: Self-managed
link: /deploy/self-managed
description: Run on your own infrastructure.
links:
- { label: Docker, url: /deploy/docker }
:::

:::{link-card}
title: Elastic Cloud Hosted
link: /deploy/cloud
description: Managed deployments on AWS, GCP, or Azure.
:::
::::
```

The outer fence uses **four** colons (`::::`) so the inner three-colon `:::` fences for the cards aren't interpreted as a closing fence. Use as many extra colons on the outer fence as you need to nest cleanly.

## Options

| Option | Notes |
|---|---|
| `:title:` | H2 heading. Optional — without it, only the grid renders. |
| `:intro:` | Optional intro paragraph below the heading. |
| `:id:` | Section anchor. Picked up by [`{on-this-page}`](on-this-page.md). |

## Layout

The grid auto-fills 1, 2, or 3 columns based on viewport width using `grid-template-columns: repeat(auto-fill, minmax(310px, 1fr))`. Card heights match within a row.
60 changes: 60 additions & 0 deletions docs/syntax/hero.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Hero

A full-bleed hero band with a product icon, page title, description, fake search box, version dropdown, quick-action pills, and an optional release-status line. Designed for the [hub layout](hub-pages.md) but reusable on any page.

All hero content is supplied via options. The directive body is not used.

## Basic

```markdown
:::{hero}
:icon: kibana
:title: Kibana
:description: The UI for the Elasticsearch platform.
:version: v9 / Serverless (current)
:::
```

The `:title:` option doubles as the page title (no body H1 needed). `:description:` supports inline markdown — links, bold, emphasis.

## Options

| Option | Type | Notes |
|---|---|---|
| `:title:` | string | **Required.** Page heading shown next to the icon. Also picked up as the document's page title. |
| `:description:` | inline markdown | One-line summary shown below the title. Supports bold, italics, and links. |
| `:icon:` | string | Product key. Resolves to an inline SVG via the product-icon lookup. Known keys: `elasticsearch`, `kibana`, `observability`, `security`. Unknown keys fall back to a single-letter chip. |
| `:version:` | string | Label inside the version chip (e.g. `v9 / Serverless (current)`). |
| `:versions:` | comma list | When set, the chip becomes a `<details>` dropdown listing other versions. Items use `Label` (greyed, "soon") or `Label=URL` (clickable). |
| `:quick-links:` | comma list, `Label=URL` | Pill bar below the version chip. |
| `:releases:` | inline markdown | Small status line under the pills, supports inline links and bold/italic. |
| `:search:` | bool, default `true` | Show the placeholder search box. |

## Version dropdown

```markdown
:::{hero}
:icon: kibana
:title: Kibana
:description: The UI for the Elasticsearch platform.
:version: v9 / Serverless (current)
:versions: v8=https://www.elastic.co/docs/products/kibana/8.x,v7
:::
```

`v8=...` is a clickable link. `v7` (no `=URL`) renders greyed out with a "soon" badge.

## Quick links and releases

```markdown
:::{hero}
:icon: elasticsearch
:title: Elasticsearch
:description: The distributed search and analytics engine.
:version: v9 / Serverless (current)
:quick-links: Install=/install,API reference=/api,Release notes=/release-notes
:releases: Latest&#58; [Stack 9.4.1](/rn) (Mar 28, 2026) · [Serverless deployed](/srn) Apr 1, 2026
:::
```

The `:releases:` option is inline markdown — same syntax as a single line of body markdown. Use `&#58;` for a literal colon when you don't want YAML to parse the value as a key/value pair.
87 changes: 87 additions & 0 deletions docs/syntax/hub-pages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
products:
- id: elasticsearch
- id: kibana
---

# Hub pages

Hub pages are product-scoped landing pages — a 360° overview of one product across versions, deployment types, and surfaces. They're enabled by setting `layout: hub` in the page's frontmatter and composed from a small set of dedicated directives.

## Enable the layout

```yaml
---
layout: hub
---
```

The `hub` layout drops the right-rail "On this page" TOC and the prev/next nav. The body owns the full width of the content column so directives can render full-bleed sections.

## Directives

| Directive | Purpose |
|-----------|---------|
| [`{hero}`](hero.md) | Full-bleed page hero with product icon, title, search, version dropdown, and quick-action pills. |
| [`{on-this-page}`](on-this-page.md) | Auto-generated inline TOC linking each section anchor on the page. |
| [`{intro}`](intro.md) | Small "getting started" callout panel with a teal accent bar. |
| [`{whats-new}`](whats-new.md) | "What's new" panel populated from `config/whats-new.yml`. |
| [`{card-group}`](card-group.md) | Section heading + card grid container. |
| [`{link-card}`](link-card.md) | Rich card with title, description, primary link list, and optional aside. |

## Page skeleton

```markdown
---
layout: hub
---

:::{hero}
:icon: kibana
:title: Kibana
:description: The UI for the Elasticsearch platform.
:version: v9 / Serverless (current)
:versions: v8,v7
:quick-links: Install=/install,Tutorial=/tutorial
:releases: Latest&#58; [Stack 9.4.1](/rn) (Mar 28, 2026)
:::

:::{on-this-page}
:::

:::{intro}
**New to Kibana?** [Take the tutorial](/tutorial) — 30 minutes, hands-on.
:::

:::{whats-new}
:product: kibana
:::

::::{card-group}
:title: Install and administer
:id: install

:::{link-card}
title: Self-managed
link: /deploy-manage/deploy/self-managed
description: Run Kibana on your own infrastructure.
links:
- { label: Docker, url: /deploy/docker }
- { label: Configure, url: /deploy/configure }
:::
::::
```

## Product badges

Every regular (non-hub) page that declares one or more `products:` in its frontmatter automatically gets a clickable badge above its H1, linking to that product's hub page. The badge → hub URL mapping is set per product in [`config/products.yml`](../configure/site/products.md):

```yaml
products:
kibana:
display: 'Kibana'
versioning: 'stack'
hub: 'products/kibana/9.0' # path slug -- relative to site root
```

When `hub:` is null, no badge renders for that product.
19 changes: 19 additions & 0 deletions docs/syntax/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Intro callout

A small white panel with a teal accent bar — used for "getting started" callouts directly under the hero.

## Basic

```markdown
:::{intro}
**New to Kibana?** [Take the tutorial](/tutorial) — a 30-minute, hands-on walk-through of Discover, dashboards, and ES|QL.
:::
```

Body is rendered as inline markdown. Use bold, links, and emphasis freely; keep it to one or two short paragraphs.

## When to use

`{intro}` is the standard "front door" panel between the [`{hero}`](hero.md) and the [`{on-this-page}`](on-this-page.md) chip. It's optional — skip it when the hero already says what readers need to know next.

It is **not** an admonition. For caution / note / tip-style callouts inside body content, use the existing [admonitions](admonitions.md).
Loading
Loading