Commit Graph

323 Commits

Author SHA1 Message Date
Guillaume Gomez 09cb84048b Fix typo 2021-03-09 21:40:04 +01:00
Jacob Hoffman-Andrews f9cfe1583b Use Arial as fallback font instead of sans-serif.
On most platforms and browsers, `sans-serif` is equivalent to Arial.
However, on Firefox on Ubuntu (and possibly other Linuxes), `sans-serif`
is DejaVu Sans, a much wider font. This creates a larger shift in text
when the custom fonts finally load. Arial is a web-safe font, and
specifying it explicitly gives us more cross-platform consistency, as
well as reducing the layout shift that happens when fonts load.
2021-03-02 18:27:34 -08:00
Jacob Hoffman-Andrews d3e7ffa7f5 Improve page load performance in rustdoc.
Add font-display: swap. Per https://web.dev/font-display/, this prevents
"flash of invisible text" during load by using a system font until the
custom font is available. I've noticed this flash of invisible text
occasionally when reading Rust docs.

Add an explicit height to icons (which already had an explicit width)
to allow browsers to lay out the page more accurately before the icons
have been loaded. https://web.dev/optimize-cls/.

Add min-width: 115px to the crate search dropdown. When the HTML first
loads, this dropdown includes only the text "All crates." Later, JS
loads the items underneath it, some of which are wider. That causes
the dropdown to get wider, causing a distracting reflow. This sets a
min-width based on the size that the dropdown eventually becomes based
on the crates on doc.rust-lang.org, reducing page movement during load.
2021-03-02 17:23:51 -08:00
Jacob Hoffman-Andrews c47903f063 Add optional woff2 versions of FiraSans.
For browsers that support woff2 (most modern ones:
https://caniuse.com/woff2), this offers a reduction in download size
for these two fonts from 362k to 257k (32% reduction). It decreases the
total page size for `struct.String.html` (counting all subresources) by
about 2.5%.

If this is interesting, I'm happy to apply the same treatment to the
other fonts, but these two are the biggest.
2021-02-26 00:02:11 -08:00
Smitty 87df27d71e Better styling of "Switch result tab" shortcut 2021-02-02 16:15:57 -05:00
Jonas Schievink d2f96a9b64 Rollup merge of #81630 - GuillaumeGomez:overflow-sidebar-title-text, r=pickfire
Fix overflowing text on mobile when sidebar is displayed

Fixes #81597.

Before:

![Screenshot from 2021-02-01 17-21-15](https://user-images.githubusercontent.com/3050060/106486857-610b0300-64b2-11eb-96d3-12b939f5b661.png)

After:

![Screenshot from 2021-02-01 17-20-59](https://user-images.githubusercontent.com/3050060/106486840-5cdee580-64b2-11eb-9492-4df27bb39e59.png)

cc `@pickfire`
r? `@Nemo157`
2021-02-02 12:15:06 +01:00
Guillaume Gomez 899b0dd1d1 Fix overflowing text on mobile when sidebar is displayed 2021-02-01 17:21:49 +01:00
Jonas Schievink ccc5a85307 Rollup merge of #81592 - GuillaumeGomez:rustdoc-ui-fixes, r=Nemo157
Rustdoc UI fixes

The first commit fixes this bug (I couldn't figure out why we were setting the width manually and it works as expected without so...):

![Screenshot from 2021-01-31 12-58-46](https://user-images.githubusercontent.com/3050060/106384371-d56a7700-63ca-11eb-9e04-c06b40c2ab5e.png)

The second commit fixes a small bug. On tablets or computer with very little width, the search section goes "over" the search input, making it impossible to click on the search input:

![Screenshot from 2021-01-31 13-22-37](https://user-images.githubusercontent.com/3050060/106384413-021e8e80-63cb-11eb-8321-391a1f8a4c7e.png)

The third and last commit fixes two bugs that you can see in this screenshot:

![Screenshot from 2021-01-31 13-41-05](https://user-images.githubusercontent.com/3050060/106384424-0cd92380-63cb-11eb-82de-76218286c3fb.png)

The wheel is going over the search input and the search tab is going under the search results text. The bug was fixed by simply switching to "mobile mode" at a bigger width:

![Screenshot from 2021-01-31 13-49-50](https://user-images.githubusercontent.com/3050060/106384466-4447d000-63cb-11eb-9330-a7cd29403905.png)

cc ```@pickfire```
r? ```@Nemo157```
2021-02-01 14:29:42 +01:00
Guillaume Gomez be9b112a5a Improve resize handling 2021-01-31 13:42:35 +01:00
Guillaume Gomez 07f5ca7e53 Prevent search section to go over search input 2021-01-31 13:42:35 +01:00
Jonas Schievink 8b281d9cd7 Rollup merge of #81563 - pickfire:patch-6, r=GuillaumeGomez
Improve docblock readability on small screen

Before

![image](https://user-images.githubusercontent.com/4687791/106363174-f77bdf00-6361-11eb-898f-d480b8460ab3.png)

After

![image](https://user-images.githubusercontent.com/4687791/106363259-6bb68280-6362-11eb-85a1-ef9262681dd7.png)

Too much space is wasted on the left side. I wanted to make that 0 but it breaks some part with error symbols.

0

![image](https://user-images.githubusercontent.com/4687791/106363287-90aaf580-6362-11eb-88c1-62a8313988a7.png)

After

![image](https://user-images.githubusercontent.com/4687791/106363276-825cd980-6362-11eb-86eb-6f4611b4ab99.png)
2021-01-31 01:47:48 +01:00
Ivan Tham 131ee07844 Remove extra trailing spaces 2021-01-31 01:36:15 +08:00
Ivan Tham 6d7ef10b46 Fix docblock short code missing end whitespaces 2021-01-31 01:27:21 +08:00
Ivan Tham d3048eea3c Improve docblock readability on small screen 2021-01-31 01:19:29 +08:00
Ivan Tham 4a2a5f0780 Fix ascii art text wrapping in mobile
Fix #81377
2021-01-31 00:45:19 +08:00
Aru Sahni aea9a4b449 Remove bottom margin from crate version when the sidebar is collapsed.
This fixes a mobile UI bug where a vertical scrollbar would always be
rendered on the sidebar nav when the menu was closed.
2021-01-05 18:53:23 -05:00
bors fde6927395 Auto merge of #80412 - GuillaumeGomez:fix-search-section-pos, r=jyn514
Fix search section position on small devices

Fixes #79526.

This is exactly the same issue fixed in 9c36491538 (in https://github.com/rust-lang/rust/pull/79936) but applied to the search section. When the width becomes too small, the search input goes on its own line to get more space, making it go "under" the section following (so either "main" or "search"). The fix is to simply make the section go more under so that it doesn't go over the search input.

r? `@jyn514`
2021-01-02 18:13:48 +00:00
Yuki Okushi bdc215a8b9 Rollup merge of #80472 - GuillaumeGomez:sans-serif-for-all-items-page, r=Nemo157
Use sans-serif font for the "all items" page links

The "all items" pages' links aren't using a sans-serif font unlike the rest of equivalent items in the other module pages. ``@Nemo157`` reported me this issue so here is the fix!

r? ``@Nemo157``
2020-12-30 18:15:23 +09:00
Guillaume Gomez 893c626d06 Use sans-serif font for the "all items" page links 2020-12-29 15:56:52 +01:00
Guillaume Gomez 2ab36516f4 Fix search section position on small devices 2020-12-29 15:27:58 +01:00
bors b2516121e2 Auto merge of #79742 - GuillaumeGomez:move-tooltips-messages-out-of-html, r=Nemo157
Move tooltips messages out of html

First thing first: nothing in the output has changed. You still have the "i" on the left of code blocks examples when they have `ignore`, `compile_fail`, `should_panic` and `edition`. The behavior also remains the same: when you hover the "i", you have the corresponding message showing up.

So now, why this PR then? I realized recently that we were actually generating those messages into the HTML every time whereas all messages are the same (except for the edition ones, I'll come back to it later). So instead of generating more content, I simply moved it inside the CSS thanks to pseudo elements (`::before` and `::after`). The message is now inside `::after` and we use the `::before` to have the small triangle on the left of the message. So now, we have less HTML generated which is seems pretty nice.

So now, back to the `edition` change: the message is globally the same, but the "edition" itself can be different (2015 or 2018 currently, I expect 2021 to arrive not too far in the future). So the only difference for it is that I added a new attribute on the tooltip called `edition` which contains this information. Then, the `::after` uses it inside its `content` (you can get the content of an element's attribute by using `attr` and concat different strings by simply having them after the other).

Don't hesitate if a part of my explanations isn't clear.

r? `@jyn514`
2020-12-24 15:22:28 +00:00
Guillaume Gomez 152d4e74be Update HTML DOM attribute "edition" to "data-edition" 2020-12-23 20:27:12 +01:00
Guillaume Gomez 63e86a7f72 Rollup merge of #79936 - GuillaumeGomez:mobile-fix-item-name, r=Nemo157,jyn514
Fix item name display on mobile

Fixes https://github.com/rust-lang/docs.rs/issues/1200

![Screenshot_20201211-200931](https://user-images.githubusercontent.com/3050060/101944457-0c06eb00-3bed-11eb-8f63-a4d4fd3cbb56.jpg)
![Screenshot_20201211-195846](https://user-images.githubusercontent.com/3050060/101944459-0d381800-3bed-11eb-91ff-815a2af7ca72.jpg)

cc `@jyn514`

r? `@Nemo157`
2020-12-14 14:43:45 +01:00
Guillaume Gomez 9c36491538 Fix main section position so that the search input remains clickable 2020-12-11 20:07:24 +01:00
Guillaume Gomez ebfea6224b Fix item name display on mobile 2020-12-11 18:02:29 +01:00
Guillaume Gomez 2363a20b98 Make search results tab and help button focusable with keyboard 2020-12-10 11:38:12 +01:00
Guillaume Gomez db8ddbf570 Move tooltips messages to CSS instead of inside HTML 2020-12-05 17:31:31 +01:00
Guillaume Gomez caf6c5790a Rename "stability" CSS class to "item-info" 2020-11-24 18:07:03 +01:00
Nixon Enraght-Moony ae644a2d4d add [src] links to methods on a trait's page 2020-11-18 22:10:10 +00:00
Yuki Okushi d9cf1f2050 Rollup merge of #78084 - GuillaumeGomez:improve-mobile-display, r=jyn514,Nemo157
Greatly improve display for small mobile devices screens

Fixes #78014.

The biggest change being the "search bar". Instead of having everything on one line, I decided to move the search input on its own:

![Screenshot from 2020-10-18 21-54-26](https://user-images.githubusercontent.com/3050060/96378530-c863a800-118c-11eb-8e82-a43fce312b5b.png)

Another change is that now, we "break words" in the listing so that they don't grow too big:

![Screenshot from 2020-10-18 21-57-17](https://user-images.githubusercontent.com/3050060/96378555-ffd25480-118c-11eb-8a71-8f116c7edd93.png)

r? @jyn514
2020-10-22 09:45:37 +09:00
Guillaume Gomez 880d644a50 Add link to rustdoc book in rustdoc help popup 2020-10-19 15:25:33 +02:00
Guillaume Gomez 4e2c59a970 Greatly improve display for small mobile devices screens 2020-10-18 21:54:59 +02:00
Yuki Okushi ed79320c16 Rollup merge of #78050 - GuillaumeGomez:small-css-cleanup, r=jyn514
Small CSS cleanup

r? @jyn514
2020-10-18 04:11:13 +09:00
Guillaume Gomez 3566132a83 Small CSS cleanup 2020-10-17 15:17:00 +02:00
Guillaume Gomez 16b1a6fa67 Rollup merge of #77979 - GuillaumeGomez:hide-help-button, r=jyn514
Hide help button on mobile

Addresses #77899.

This PR is just a quick fix for now: we're still debating about whether or not we want to display this help popup and if so, how. I'll open an issue once this PR is merged to discuss about it.

Before:

![Screenshot from 2020-10-15 17-56-39](https://user-images.githubusercontent.com/3050060/96155127-df499680-0f0f-11eb-8a13-77c537141f21.png)

After:

![Screenshot from 2020-10-15 17-55-06](https://user-images.githubusercontent.com/3050060/96154957-ac070780-0f0f-11eb-9d90-7d8f79a6bf37.png)

r? @jyn514
2020-10-15 18:00:32 +02:00
Guillaume Gomez fce04fedd6 Hide help button on mobile devices 2020-10-15 17:32:42 +02:00
Yuki Okushi a6cc660774 Rollup merge of #77699 - GuillaumeGomez:word-wrap, r=XAMPPRocky
Add word wrap for short descriptions

Fixes #77652

![Screenshot from 2020-10-08 13-26-18](https://user-images.githubusercontent.com/3050060/95452770-11845280-096a-11eb-80da-723da85261fa.png)

cc @WaffleLapkin
r? @jyn514
2020-10-13 04:07:52 +09:00
Guillaume Gomez 9f1048d723 Add word-wrap rule for short descriptions 2020-10-12 15:41:37 +02:00
Guillaume Gomez ce45b4f3ba Remove unused class rule 2020-10-08 13:25:15 +02:00
Guillaume Gomez 0e45ad890d Fix tooltip text display 2020-10-07 11:31:15 +02:00
Camelid adfba2b694 Only use Fira Sans for the first td in item lists
Fixes an issue where links in the one-line version of an item's docs
would be in Fira Sans, while the rest would be in a serifed font.
2020-10-03 19:52:35 -07:00
Camelid bf09a529ee rustdoc: Fix font CSS for crate lists
I had put it in the wrong file in #76126. This should fix it now. Thank
you to @ollie27 for pointing this out!
2020-09-07 13:57:33 -07:00
Ivan Tham 8e0e179776 Expand rustdoc theme chooser x padding 2020-08-24 22:32:59 +08:00
Dylan DPC 51ed33d8c2 Rollup merge of #75366 - GuillaumeGomez:help-button, r=jyn514
Add help button

Part of #75197.

Here is a screenshot of the result:

![Screenshot from 2020-08-10 16-53-20](https://user-images.githubusercontent.com/3050060/89796547-14112a00-db2a-11ea-9f25-57b30ab68f9b.png)

r? @jyn514
2020-08-11 01:56:43 +02:00
Guillaume Gomez a34bc7961a Add help button 2020-08-10 16:52:19 +02:00
Camelid f3cc957f2e Rename "Important traits" to "Notable traits"
* Rename it in the UI
* Rename the CSS classes
2020-08-09 12:09:05 -07:00
Manish Goregaokar 05a24661a3 Rollup merge of #74635 - GuillaumeGomez:fix-tooltip-pos, r=Manishearth
Fix tooltip position if the documentation starts with a code block

Fixes #74321.

Before:

![before](https://user-images.githubusercontent.com/3050060/88188970-cf842400-cc38-11ea-839b-37e41656837d.png)

After:

![after](https://user-images.githubusercontent.com/3050060/88188981-d3b04180-cc38-11ea-8194-713ffe640d3a.png)

And in case there is text, it is not being applied:

![after-witness](https://user-images.githubusercontent.com/3050060/88189009-ddd24000-cc38-11ea-9f0a-61dfd0a0cbd0.png)

And on mobile it isn't needed so it's not "activated":

![Screenshot from 2020-07-22 17-17-43](https://user-images.githubusercontent.com/3050060/88194698-65bb4880-cc3f-11ea-8513-0043ccca8cfc.png)

r? @rust-lang/rustdoc
2020-07-22 09:29:17 -07:00
Guillaume Gomez 96225b15e5 Fix tooltip position if the documentation starts with a code block 2020-07-22 17:19:05 +02:00
Guillaume Gomez 995d63ac73 Improve "important traits" popup display on mobile 2020-07-20 14:37:47 +02:00
Guillaume Gomez 83ffd5c18d Fix tidy issues 2020-07-17 10:22:09 +02:00