Commit graph

3070 commits

Author SHA1 Message Date
Guillaume Gomez
0da9b474de
Rollup merge of #82549 - rust-lang:revert-82313-update-normalize-css, r=apiraino
Revert "Update normalize.css to 8.0.1"

Reverts rust-lang/rust#82313

Fixes #82548
Fixes #82542

``@jsha:`` I'm reverting until we can come up with a new version which is fully working.

r? ``@jyn514``
2021-02-26 15:52:37 +01:00
Guillaume Gomez
b4ded5a07b
Rollup merge of #82545 - jsha:woff2, r=GuillaumeGomez
rustdoc: 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 15:52:36 +01:00
Guillaume Gomez
b0dc39ec12
Revert "Update normalize.css to 8.0.1" 2021-02-26 14:59:24 +01:00
Jacob Hoffman-Andrews
ad7ed13eab Embed woff2 files in rustdoc binary. 2021-02-26 00:38:05 -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
bors
d95d304861 Auto merge of #78429 - casey:doctest-attribute-splitting, r=jyn514
[librustdoc] Only split lang string on `,`, ` `, and `\t`

Split markdown lang strings into tokens on `,`.

The previous behavior was to split lang strings into tokens on any
character that wasn't a `_`, `_`, or alphanumeric.

This is a potentially breaking change, so please scrutinize! See discussion in #78344.

I noticed some test cases that made me wonder if there might have been some reason for the original behavior:

```
t("{.no_run .example}", false, true, Ignore::None, true, false, false, false, v(), None);
t("{.sh .should_panic}", true, false, Ignore::None, false, false, false, false, v(), None);
t("{.example .rust}", false, false, Ignore::None, true, false, false, false, v(), None);
t("{.test_harness .rust}", false, false, Ignore::None, true, true, false, false, v(), None);
```

It seemed pretty peculiar to specifically test lang strings in braces, with all the tokens prefixed by `.`.

I did some digging, and it looks like the test cases were added way back in [this commit from 2014](3fef7a74ca) by `@skade.`

It looks like they were added just to make sure that the splitting was permissive, and aren't testing that those strings in particular are accepted.

Closes https://github.com/rust-lang/rust/issues/78344.
2021-02-26 00:17:22 +00:00
Aaron Hill
8250a2510d
Rollup merge of #82484 - bugadani:docfix, r=jyn514
rustdoc: Remove duplicate "List of all items"

Closes #82477

r? `@jyn514`
2021-02-25 16:06:23 -05:00
Dylan DPC
05ed0814b9
Rollup merge of #82313 - jsha:update-normalize-css, r=GuillaumeGomez
Update normalize.css to 8.0.1

From From https://github.com/necolas/normalize.css/releases/tag/8.0.1.

The old version was 3.0.0, from 2014. The new version is from 2018.

I noticed when looking at frontend performance for rustdoc that this file was out of date. The URL in the 3.0.0 license header now resolves to an incorrect destination. And generally it seems good to be up-to-date.

Before-and-after images, plus diff, under details. TL;DR: Nothing changes except a slight adjustment to line height.

<details>

![with-normalize-8 0 1](https://user-images.githubusercontent.com/220205/108581849-bd5c8800-72e4-11eb-9150-78c8d67ca37a.png)

![with-normalize-3 0 0](https://user-images.githubusercontent.com/220205/108581848-bcc3f180-72e4-11eb-8b45-0cd1415a51e5.png)

![diff](https://user-images.githubusercontent.com/220205/108581890-dfeea100-72e4-11eb-93c5-6284492f54a9.png)

</details>
2021-02-25 14:34:02 +01:00
Dániel Buga
d3f75ebf60 Add test 2021-02-24 18:14:31 +01:00
Dániel Buga
3be69b100f Remove duplicate string 2021-02-24 17:44:37 +01:00
Guillaume Gomez
b5c8eea55d Put clean::Trait extra information into a new struct to make it more coherent 2021-02-23 21:58:16 +01:00
Guillaume Gomez
58a34a4dde Remove is_spotlight field from Trait 2021-02-23 21:57:40 +01:00
Dylan DPC
8541435e8d
Rollup merge of #82234 - GuillaumeGomez:remove-query-param-on-esc, r=Nemo157
Remove query parameters when skipping search results

Fixes #81330.

This PR changes the following: when pressing ESC and that no other "action" was performed (understand: no closing the search result, or hiding a menu or something along the line), then we discard the URL query parameters (the `?whatever=dsjfs`). What do you think about this change ```@rust-lang/rustdoc``` ?

EDIT: finally we're simply removing the query parameter when we're skipping the search results.

r? ```@Nemo157```
2021-02-23 02:51:54 +01:00
Dylan DPC
1c2a949736
Rollup merge of #79423 - camelid:smart-punct, r=jyn514
Enable smart punctuation

Closes #76690.
2021-02-23 02:51:42 +01:00
Yuki Okushi
1dba8ce8a5
Rollup merge of #82351 - notriddle:docs-meta-description, r=jyn514
Use the first paragraph, instead of cookie-cutter text, for rustdoc descriptions

Partially addresses #82283.
2021-02-22 18:26:08 +09:00
Michael Howell
bcef5e7077 Revert changes to all.html
This code wasn't actually working, and trying to SEO optimize that page is pointless anyway.
2021-02-20 17:26:05 -07:00
Michael Howell
1bedd4d678 Cut off plain text descriptions after headers
Before:

    The Rust Standard LibraryThe Rust Standard Library is the foundation of portable Rust software, a set of minimal and battle-tested shared abstractions for the broader Rust ecosystem. It offers core types, like `Vec<T>` and `Option<T>`, library-defined operations on language primitives, standard macros, I/O and multithreading, among many other things.

After:

    The Rust Standard Library
2021-02-20 16:48:37 -07:00
Michael Howell
553852806d Use the first paragraph, instead of cookie-cutter text, for rustdoc descriptions
Fixes #82283
2021-02-20 16:48:37 -07:00
Guillaume Gomez
3071685505 Don't render [src] link on dummy spans 2021-02-20 19:51:38 +01:00
Jacob Hoffman-Andrews
7acb10514b Re-minify normalize.css.
This bypasses tidy's complaints about tab indent. Also, this lets us
remove comments while keeping the MIT license comment.
2021-02-19 18:49:00 -08:00
Jacob Hoffman-Andrews
9bbd48256d Update normalize.css to 8.0.1
From https://github.com/necolas/normalize.css/releases/tag/8.0.1.
2021-02-19 18:28:53 -08:00
Jacob Hoffman-Andrews
7ad4b7a62f Replace normalize.css 3.0.0 with unminified version.
This is in preparation to upgrade to 8.0.1, so the next commit
can contain more meaningful diffs.
2021-02-19 18:26:19 -08:00
Guillaume Gomez
eeb5552667 Remove query parameters when leaving search results 2021-02-17 22:04:30 +01:00
Joshua Nelson
2bc5a0a600 Make Clean take &mut DocContext
- Take `FnMut` in `rustc_trait_selection::find_auto_trait_generics`
- Take `&mut DocContext` in most of `clean`
- Collect the iterator in auto_trait_impls instead of iterating lazily; the lifetimes were really bad.
- Changes `fn sess` to properly return a borrow with the lifetime of `'tcx`, not the mutable borrow.
2021-02-16 21:25:14 -05:00
Guillaume Gomez
719c8d40cc Fix ES5 errors (IE11) 2021-02-15 10:11:37 +01:00
Casey Rodarmor
66f4883308
[librustdoc] Reform lang string token splitting
Only split doctest lang strings on `,`, ` `, and `\t`. Additionally, to
preserve backwards compatibility with pandoc-style langstrings, strip a
surrounding `{}`, and remove leading `.`s from each token.

Prior to this change, doctest lang strings were split on all
non-alphanumeric characters except `-` or `_`, which limited future
extensions to doctest lang string tokens, for example using `=` for
key-value tokens.

This is a breaking change, although it is not expected to be disruptive,
because lang strings using separators other than `,` and ` ` are not
very common
2021-02-12 00:02:52 -08:00
Ophir LOJKINE
16f0ccda86
Fix getCurrentValue 2021-02-10 14:55:53 +01:00
Ophir LOJKINE
f13bbea124
Catch errors on localStorage setting failure
Fixes https://github.com/rust-lang/rust/issues/81928

“Ask forgiveness not permission”  : this makes the code both simpler and more robust
2021-02-10 14:53:22 +01:00
Camelid
1b29b29200 Update Markdown unit tests 2021-02-09 12:25:22 -08:00
bors
921ec4b3fc Auto merge of #81313 - LeSeulArtichaut:revert-32558, r=jyn514
Restore linking to itself in implementors section of trait page

Reverts #32558 as proposed in [this Zulip discussion](https://rust-lang.zulipchat.com/#narrow/stream/266220-rustdoc/topic/Trait.20implementation.20self-links/near/223773273)
r? `@jyn514` cc `@camelid`
2021-02-08 10:46:10 +00:00
Camelid
a0f9d4beec Enable smart punctuation 2021-02-07 19:57:53 -08:00
bors
a73c2e555c Auto merge of #80883 - GuillaumeGomez:remove-some-function-fields, r=ollie27
Remove some function fields

Same kind as #80845.

This PR removes the `all_types` and `ret_types` from the `clean::Function` type.

Another change that I had to do was implementing the `From` trait to be able to convert `hir::def::DefKind` into `clean::TypeKind` without requiring `DocContext` (and so I updated the `clean` method so that it's taken into account).

The last two commits improve a bit the `get_real_types` function and the `Type::generics` method.

r? `@jyn514`
2021-02-06 20:55:36 +00:00
LeSeulArtichaut
1daddb47d2 Restore linking to itself in implementors section of trait page 2021-02-06 21:05:41 +01:00
Jonas Schievink
e143159e75
Rollup merge of #81766 - jyn514:task-lists, r=GuillaumeGomez
Enable 'task list' markdown extension

Closes https://github.com/rust-lang/rust/issues/71183.
2021-02-06 17:01:50 +01:00
Joshua Nelson
9653b601b2 Enable 'task list' markdown extension
- Add documentation about task lists
2021-02-06 00:08:21 -05:00
Guillaume Gomez
3c8e13aff1 Remove unused cache argument 2021-02-05 17:23:54 +01:00
Guillaume Gomez
076fa63424 Improve code 2021-02-05 17:23:54 +01:00
Guillaume Gomez
8e0d1cefd3 Improve html::render::cache::get_real_types code 2021-02-05 17:23:54 +01:00
Guillaume Gomez
4810910b0b Remove Function all_types and ret_types fields 2021-02-05 17:23:52 +01:00
Mara Bos
2451bf90db
Rollup merge of #81497 - camelid:rustdoc-display_fn-remove-cell, r=jyn514
rustdoc: Move `display_fn` struct inside `display_fn`

This makes it clear that it's an implementation detail of `display_fn`
and shouldn't be used elsewhere, and it enforces in the compiler that no
one else can use it.

r? ````@GuillaumeGomez````
2021-02-05 12:25:58 +01:00
Guillaume Gomez
e57f1cfb4b
Rollup merge of #81681 - Smittyvb:rustdoc-shortcuts-styling, r=GuillaumeGomez
Better styling of "Switch result tab" shortcut

Before:
![](https://user-images.githubusercontent.com/10530973/106663877-544de400-6572-11eb-98a4-77b6b3d9cd42.png)
![image](https://user-images.githubusercontent.com/10530973/106664790-8d3a8880-6573-11eb-811f-29c4ade31848.png)

After:
![](https://user-images.githubusercontent.com/10530973/106663945-6b8cd180-6572-11eb-911a-12c69d935ee5.png)
![](https://user-images.githubusercontent.com/10530973/106664403-05547e80-6573-11eb-84bf-fdd0dfc7dac8.png)
2021-02-03 08:41:28 +01:00
Guillaume Gomez
de41c58c9f
Rollup merge of #81679 - GuillaumeGomez:clean-fixme-match-bind, r=poliorcetics,CraftSpider
Bind all clean::Type variants and remove FIXME

This is simply a little cleanup.

cc `@CraftSpider`
r? `@poliorcetics`
2021-02-03 08:41:26 +01:00
Smitty
87df27d71e Better styling of "Switch result tab" shortcut 2021-02-02 16:15:57 -05:00
Guillaume Gomez
3336dd3565 Bind all clean::Type variants and remove FIXME 2021-02-02 22:07:23 +01: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
Jonas Schievink
30f12a0379
Rollup merge of #81492 - camelid:rustdoc-internal-mod-vis, r=GuillaumeGomez
rustdoc: Note why `rustdoc::html::markdown` is public

Almost all of the modules are crate-private, except for
`rustdoc::json::types`, which I believe is intended to be for public
use; and `rustdoc::html::markdown`, which is used externally by the
error-index generator and so has to be public.

r? ``@GuillaumeGomez``
2021-02-02 12:14:57 +01:00
bors
461cbe42d0 Auto merge of #81557 - GuillaumeGomez:primitive-search, r=ollie27
Fix primitive search in parameters and returned values

Part of #60485.
Fixes #74780.

Replacing #74879.

cc `@camelid` `@jyn514` `@CraftSpider`
r? `@ollie27`
2021-02-02 00:15:06 +00:00
Guillaume Gomez
899b0dd1d1 Fix overflowing text on mobile when sidebar is displayed 2021-02-01 17:21:49 +01:00
Guillaume Gomez
198e3aba8f Put back primitives in search 2021-02-01 15:56:51 +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