docs: api separation (#3630)

# What does this PR do?

First step towards cleaning up the API reference section of the docs.

- Separates API reference into 3 sections: stable (`v1`), experimental (`v1alpha` and `v1beta`), and deprecated (`deprecated=True`)
- Each section is accessible via the dropdown menu and `docs/api-overview`

<img width="1237" height="321" alt="Screenshot 2025-09-30 at 5 47 30 PM" src="https://github.com/user-attachments/assets/fe0e498c-b066-46ed-a48e-4739d3b6724c" />

<img width="860" height="510" alt="Screenshot 2025-09-30 at 5 47 49 PM" src="https://github.com/user-attachments/assets/a92a8d8c-94bf-42d5-9f5b-b47bb2b14f9c" />

- Deprecated APIs: Added styling to the sidebar, and a notice on the endpoint pages

<img width="867" height="428" alt="Screenshot 2025-09-30 at 5 47 43 PM" src="https://github.com/user-attachments/assets/9e6e050d-c782-461b-8084-5ff6496d7bd9" />

Closes #3628

TODO in follow-up PRs:

- Add the ability to annotate API groups with supplementary content  (so we can have longer descriptions of complex APIs like Responses)
- Clean up docstrings to show API endpoints (or short semantic titles) in the sidebar

## Test Plan

- Local testing
- Made sure API conformance test still passes
This commit is contained in:
Alexey Rybak 2025-10-01 10:13:31 -07:00 committed by GitHub
parent 7f1a33f51c
commit b6a5bccadf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 35504 additions and 25684 deletions

View file

@ -189,3 +189,29 @@ button[class*="button"]:hover,
.pagination-nav__link--prev:hover {
background-color: #f3f4f6 !important;
}
/* Deprecated endpoint styling */
.menu__list-item--deprecated .menu__link {
text-decoration: line-through !important;
opacity: 0.7;
font-style: italic;
}
.menu__list-item--deprecated .menu__link:hover {
opacity: 0.9;
}
/* Deprecated endpoint badges - slightly muted */
.menu__list-item--deprecated.api-method > .menu__link::before {
opacity: 0.7;
border-style: dashed !important;
}
/* Dark theme adjustments for deprecated endpoints */
[data-theme='dark'] .menu__list-item--deprecated .menu__link {
opacity: 0.6;
}
[data-theme='dark'] .menu__list-item--deprecated .menu__link:hover {
opacity: 0.8;
}