docs: Add table of contents navigation (#15212)

To ease navigating on pages that are long and having a birds-eye view of
all the available content.

This is done client-side and done via the files initially generated by
the `mdbook-pagetoc` plugin ([crates.io link
here](https://crates.io/crates/mdbook-pagetoc)).

<img width="600" alt="Screenshot 2024-07-25 at 13 34 08"
src="https://github.com/user-attachments/assets/a78c69e5-8cc4-4414-9d9c-27a4ceb27620">

---

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
This commit is contained in:
Danilo Leal 2024-07-27 11:34:14 -03:00 committed by GitHub
parent acea6f9c0f
commit af24967195
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 172 additions and 7 deletions

View file

@ -20,3 +20,9 @@ Putting binary assets such as images in the Git repository will bloat the reposi
- We have a Cloudflare router called `docs-proxy` that intercepts requests to `zed.dev/docs` and forwards them to the "docs" Cloudflare Pages project.
- CI uploads a new version to the Pages project from `.github/workflows/deploy_docs.yml` on every push to `main`.
### Table of Contents
The table of contents files (`theme/page-toc.js` and `theme/page-doc.css`) were initially generated by [`mdbook-pagetoc`](https://crates.io/crates/mdbook-pagetoc).
Since all these preprocessor does is generate the static assets, we don't need to keep it around once they have been generated.