-
Notifications
You must be signed in to change notification settings - Fork 12.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rustdoc: redesign toolbar and disclosure widgets #129545
base: master
Are you sure you want to change the base?
Conversation
rustbot has assigned @GuillaumeGomez. Use |
This comment has been minimized.
This comment has been minimized.
@bjorn3 Does this look more reasonable? |
This comment has been minimized.
This comment has been minimized.
Much better! Thanks! |
This comment has been minimized.
This comment has been minimized.
865ea4d
to
8370987
Compare
This comment has been minimized.
This comment has been minimized.
8370987
to
5a34083
Compare
This comment has been minimized.
This comment has been minimized.
Just to say: I LOVE IT! It looks so good. Well done! |
579c823
to
9ca4403
Compare
Some changes occurred in HTML/CSS/JS. cc @GuillaumeGomez, @jsha Some changes occurred in src/tools/compiletest cc @jieyouxu This PR modifies cc @jieyouxu Some changes occurred in GUI tests. |
9ca4403
to
e28fe4e
Compare
This comment has been minimized.
This comment has been minimized.
So about the help button: it has important information like a link to the rustdoc book or the version of rustdoc used to generate this doc. So displaying it only on the search results page is not an improvement imo. |
It can’t be that important. It was already hidden on mobile. |
Maybe the problem here is that this menu contains too many different kind of information:
2 can be hidden away on mobile all the time, 3 and 4 seems like we're not providing all information we should. 1 is only useful on desktop, but then it'd be better to display it all the time. |
e28fe4e
to
0b61c49
Compare
This comment has been minimized.
This comment has been minimized.
8c6e55c
to
2e79646
Compare
This comment has been minimized.
This comment has been minimized.
2e79646
to
1be4e7f
Compare
big fan of labeled icons that collapse to just icons on mobile. docs.rs uses the same approach for its menubar, so there's some nice parity with that too. |
one slight issue: the "copy path" button is probably a bit more confusing now that the module and name have been split up. |
This looks amazing, thanks for the great work @notriddle. I only have one comment, and I don't feel strongly about it: What if instead of disabling "Summary" when in search view (etc.), we just delete it? We would also have to move it to be the leftmost icon, but I think that might make more sense anyway. It's a little strange to have content-related buttons after settings. |
I checked my box since, like I said, I don't feel strongly, and it can always be tweaked later. |
strictly speaking, the "collapse all" view would be more accurately described as an outline, not a summary, although it doesn't matter that much as long as it is clearly a button, since it's function will become apparent once it is clicked (just looking at the screenshots, it wasn't immediately obvious to me what it does) |
Seems like we got the frontend team to agree with the changes. Thanks everyone! Time to approve it. Can't wait for this change to be available. :D @bors r+ rollup |
…GuillaumeGomez rustdoc: redesign toolbar and disclosure widgets Fixes rust-lang#77899 Fixes rust-lang#90310 ## Preview | before | after | ------ | ----- | ![image](https://github.com/user-attachments/assets/ebeec185-3a72-481d-921e-a9a885f348d9) | ![image](https://github.com/user-attachments/assets/08735a65-99d1-4523-ab77-ddb164c0a5db) | ![image](https://github.com/user-attachments/assets/ae8e0f24-49cb-445d-b9bd-cec9c57b94e7) | ![image](https://github.com/user-attachments/assets/ba484f94-b031-41fc-b8a8-6cd81be8fb6b) | ![image](https://github.com/user-attachments/assets/8c2cc041-a138-4950-a12e-3d529c8a5339) | ![image](https://github.com/user-attachments/assets/e7f010bd-19e2-4711-85bf-3fd00c3e5647) | ![image](https://github.com/user-attachments/assets/e2b63785-971c-489e-b069-eb85f6a30620) | ![image](https://github.com/user-attachments/assets/b65eea16-d6a3-4aa3-8a27-6ded74009010) | ![image](https://github.com/user-attachments/assets/1c7b0901-a61a-4325-9d01-9d8b14b476aa) | ![image](https://github.com/user-attachments/assets/d4a485db-d9f1-4a62-94bc-a3d125ea6dc1) | N/A | ![image](https://github.com/user-attachments/assets/7add0a2a-7fd7-483d-87ee-51ee45a2fe5d) | ![image](https://github.com/user-attachments/assets/334f50bc-9f8d-42d9-a7df-95058f7cdfd5) | ![image](https://github.com/user-attachments/assets/451fcc22-b034-453c-ae4b-b948fd6bd779) | ![image](https://github.com/user-attachments/assets/132f720c-802a-466d-bd55-c7a4750acdc3) | ![image](https://github.com/user-attachments/assets/177b7921-06c5-467d-87d3-9cdf88c4e50b) https://notriddle.com/rustdoc-html-demo-12/toolbar-v2/std/index.html ## Description This adds labels to the icons and moves them away from the search box. These changes are made together, because they work together, but are based on several complaints: * The [+/-] thing are a Reddit-ism. They don't look like buttons, but look like syntax <https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons>, <rust-lang#59851> (some of these are laundry lists with more suggestions, but they all mention [+/-] looking wrong) * The settings, help, and summary buttons are also too hard to recognize <https://lwn.net/Articles/987070/>, <rust-lang#90310>, <rust-lang#14475 (comment)>, <https://internals.rust-lang.org/t/improve-rustdoc-design/12758> ("Not all functionality is self-explanatory, for example the [+] button in the top right corner, the theme picker or the settings button.") The toggle-all and toggle-individual buttons both need done at once, since we want them to look like they go together. This changes them from both being [+/-] to both being arrows. CC <rust-lang#113074 (comment)> and `@jsha` regarding the use of triangles for disclosure, which is what everyone wanted, but was pending a good toggle-all button. This PR adds a toggle-all button that should work. Settings and Help are also migrated, so that the whole group can benefit from being described using actual words. The breadcrumbs also get redesigned, so that they use less space, by shrinking the parent module path parts. This is done at the same time as the toolbar redesign because it's, effectively, moving space from the toolbar to the breadcrumbs. This is aimed at avoiding any line wrapping at desktop sizes. ## Prior art This style of toolbar, with explicit labels on the buttons, used to be more popular. It's not very common in web browsers nowadays, and for truly universal icons like ⬅️ I can understand why, but words are great when icons fail. ![image](https://github.com/user-attachments/assets/9a4a0498-232d-4d60-87b9-f601f4515254)
This comment has been minimized.
This comment has been minimized.
@bors r- |
1be4e7f
to
6260680
Compare
@bors r=GuillaumeGomez |
Fixes #77899
Fixes #90310
Preview
https://notriddle.com/rustdoc-html-demo-12/toolbar-v2/std/index.html
Description
This adds labels to the icons and moves them away from the search box.
These changes are made together, because they work together, but are based on several complaints:
The [+/-] thing are a Reddit-ism. They don't look like buttons, but look like syntax https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons, Reduce visual prominence of controls, source links, and version numbers in rustdoc #59851 (some of these are laundry lists with more suggestions, but they all mention [+/-] looking wrong)
The settings, help, and summary buttons are also too hard to recognize https://lwn.net/Articles/987070/, Make the "help" button on generated rustdoc pages easier to find #90310, rustdoc: provide summary views #14475 (comment), https://internals.rust-lang.org/t/improve-rustdoc-design/12758 ("Not all functionality is self-explanatory, for example the [+] button in the top right corner, the theme picker or the settings button.")
The toggle-all and toggle-individual buttons both need done at once, since we want them to look like they go together. This changes them from both being [+/-] to both being arrows.
CC #113074 (comment) and @jsha regarding the use of triangles for disclosure, which is what everyone wanted, but was pending a good toggle-all button. This PR adds a toggle-all button that should work.
Settings and Help are also migrated, so that the whole group can benefit from being described using actual words.
The breadcrumbs also get redesigned, so that they use less space, by shrinking the parent module path parts. This is done at the same time as the toolbar redesign because it's, effectively, moving space from the toolbar to the breadcrumbs.
This is aimed at avoiding any line wrapping at desktop sizes.
Prior art
This style of toolbar, with explicit labels on the buttons, used to be more popular. It's not very common in web browsers nowadays, and for truly universal icons like ⬅️ I can understand why, but words are great when icons fail.