Commit graph

1817 commits

Author SHA1 Message Date
Michael Howell
55b11cf15c rustdoc: remove unused CSS .summary
It was added in 4d16de01d0 as part of a
stability dashboard that was removed in
0a46933c4d.
2022-09-24 10:54:30 -07:00
Matthias Krüger
1c4a85fc40
Rollup merge of #102203 - notriddle:notriddle/source-sidebar, r=GuillaumeGomez
rustdoc: remove no-op CSS `#source-sidebar { z-index }`

This rule became redundant in 07e3f998b1. When `#source-sidebar` became nested below `.sidebar`, it went from being `position: fixed` to `position: static`, and according to MDN's [z-index] documentation, this means it has no effect.

[z-index]: https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
2022-09-24 14:29:55 +02:00
Matthias Krüger
9a4fe30fff
Rollup merge of #102146 - notriddle:notriddle/sidebar-jank, r=GuillaumeGomez
rustdoc: CSS prevent sidebar width change jank

This commit makes the `width` and `min-width` of the sidebar the same. They originally were when cad0fce205 added the `min-width` rule, but 6a5f8b1aef changed the `width` without changing the `min-width`, causing it to sometimes oscilate between 200 and 250 pixels depending on the main content.

# Before

[Screencast from 09-22-2022 10:25:29 AM.webm](https://user-images.githubusercontent.com/1593513/191813469-ea00f30f-6f49-40fc-9a26-e1dfd5068d2b.webm)

# After

[Screencast from 09-22-2022 10:32:20 AM.webm](https://user-images.githubusercontent.com/1593513/191813642-ae0902da-5262-403a-bbdf-995334201acb.webm)
2022-09-24 07:38:55 +02:00
Michael Howell
f570d310b7 rustdoc: remove no-op CSS rule #source-sidebar { z-index: 1 }
This rule became redundant in 07e3f998b1.
When `#source-sidebar` became nested below `.sidebar`, it went from being
`position: fixed` to `position: static`, and according to MDN's [z-index]
documentation, this means it has no effect.

[z-index]: https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
2022-09-23 10:48:24 -07:00
Michael Howell
8b0feb8622 rustdoc: remove no-op mobile CSS #source-sidebar { z-index: 11 }
This rule became redundant in 07e3f998b1.
When `#source-sidebar` became nested below `.sidebar`, it went from being
`position: fixed` to `position: static`, and according to MDN's [z-index]
documentation, this means it has no effect.

[z-index]: https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
2022-09-23 10:45:26 -07:00
Michael Howell
ee8e0bda34 rustdoc: CSS prevent sidebar width change jank
This commit makes the `width` and `min-width` of the sidebar the same. They
originally were when cad0fce205 added the
`min-width` rule, but 6a5f8b1aef changed the
width without changing the `min-width`, causing it to sometimes oscilate
between 200 and 250 pixels depending on the main content.
2022-09-23 08:35:14 -07:00
Matthias Krüger
6d6d89b08b
Rollup merge of #102158 - notriddle:notriddle/stab-p, r=GuillaumeGomez
rustdoc: clean up CSS/DOM for deprecation warnings

Preview: https://notriddle.com/notriddle-rustdoc-test/stab-p/std/macro.try.html
2022-09-23 15:40:23 +02:00
bors
4d44e09cb1 Auto merge of #102165 - matthiaskrgr:rollup-n5oquhe, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #100734 (Split out async_fn_in_trait into a separate feature)
 - #101664 (Note if mismatched types have a similar name)
 - #101815 (Migrated the rustc_passes annotation without effect diagnostic infrastructure)
 - #102042 (Distribute rust-docs-json via rustup.)
 - #102066 (rustdoc: remove unnecessary `max-width` on headers)
 - #102095 (Deduplicate two functions that would soon have been three)
 - #102104 (Set 'exec-env:RUST_BACKTRACE=0' in const-eval-select tests)
 - #102112 (Allow full relro on powerpc64-unknown-linux-gnu)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-09-23 09:33:23 +00:00
Matthias Krüger
f4c492cb5d
Rollup merge of #102066 - notriddle:notriddle/headers-max-width, r=GuillaumeGomez
rustdoc: remove unnecessary `max-width` on headers

This code was added in 003b2bc1c6 to prevent these headers from overlapping `.out-of-band` side items. That stopped being a problem when 3f92ff34b5 switched rustdoc over to using `float`, rather than `position: absolute`, to implement this.
2022-09-23 04:29:18 +02:00
Michael Howell
dedf6fcde4 rustdoc: clean up CSS/DOM for deprecation warnings 2022-09-22 14:54:38 -07:00
Matthias Krüger
dfeff64550
Rollup merge of #102147 - notriddle:notriddle/location-border-none, r=GuillaumeGomez
rustdoc: remove no-op CSS `.location:empty { border: none }`

This rule was added in 2bb2a2975f to remove a border placed around the location when it's empty. That rule was removed in 6a5f8b1aef, so this rule does nothing.
2022-09-22 21:34:56 +02:00
Matthias Krüger
dee0c422e7
Rollup merge of #102125 - notriddle:notriddle/content-item-info, r=GuillaumeGomez
rustdoc: remove no-op CSS `.content .item-info { position: relative }`

This rule was added to help position the marker line in 110e7270ab, which was a `position: absolute` pseudo-element that relied on its parent to put it in the right spot. (it was changed from a line to an arrow in 1ffb9cf8d7, then a different arrow in ae3a53ff58).

The arrow was removed in 73d0f7c7b6, so the `relative` position is no longer necessary.
2022-09-22 21:34:52 +02:00
Matthias Krüger
ecbc00fa9e
Rollup merge of #102118 - notriddle:notriddle/line-numbers, r=GuillaumeGomez
rustdoc: clean up line numbers on code examples

* First commit switches from `display: inline-flex; width: 100%` to `display: flex`.

  `display: inline-flex` was used as part of e961d397ca, the original commit that added these line numbers. Does anyone know why it was done this way?

* Second commit makes it so that toggling this checkbox will update the page in real time, just like changing themes does.

Preview: https://notriddle.com/notriddle-rustdoc-test/line-numbers/std/vec/struct.Vec.html
2022-09-22 21:34:50 +02:00
Michael Howell
8abf4870ce rustdoc: remove no-op CSS .location:empty { border: none }
This rule was added in 2bb2a2975f to remove a
border placed around the location when it's empty. That rule was removed in
6a5f8b1aef, so this rule does nothing.
2022-09-22 11:09:29 -07:00
Michael Howell
876c7076c8 rustdoc: remove no-op CSS .content .item-info { position: relative }
This rule was added to help position the marker line in
110e7270ab, which was a `position: absolute`
pseudo-element that relied on its parent to put it in the right spot.

The arrow was removed in 73d0f7c7b6, so the
`relative` position is no longer necessary.
2022-09-21 21:55:08 -07:00
Michael Howell
ba5f05b1c4 rustdoc: remove unnecessary max-width on headers
This code was added in 003b2bc1c6 to prevent
these headers from overlapping `.out-of-band` side items. That stopped
being a problem when 3f92ff34b5 switched
rustdoc over to using `float`, rather than `position: absolute`, to
implement this.
2022-09-21 17:20:09 -07:00
Yuki Okushi
9aa3180dfc
Rollup merge of #102100 - GuillaumeGomez:stab-in-docblocks, r=notriddle
Prevent usage of .stab elements to create scrollable areas in doc blocks

Fixes #101874.

You can test it online [here](https://rustdoc.crud.net/imperio/stab-in-doblocks/foo/index.html).

r? `@notriddle`
2022-09-22 09:03:56 +09:00
Michael Howell
f66769fe8d rustdoc: dynamically show-hide line numbers on code examples 2022-09-21 16:12:15 -07:00
Michael Howell
7a718f3be2 rustdoc: use block flex for line-number CSS
`display: inline-flex` was used as part of
e961d397ca, the original commit that added
these line numbers. Does anyone know why it was done this way?
2022-09-21 15:27:55 -07:00
Guillaume Gomez
150623eb6c Prevent usage of .stab elements to create scrollable areas in doc blocks 2022-09-21 16:12:14 +02:00
Michael Howell
04e98b9025 rustdoc: remove no-op .method { position: relative }
This rule was added in 88fe6dfa31 to assist
in position the hide/show togges on methods. This is no longer needed,
because these toggles are no longer implemented as absolutely positioned
links nested inside headers.
2022-09-20 16:16:49 -07:00
Michael Howell
c6c4e0f438 rustdoc: remove no-op .method { font-size: 1rem }
This rule was added in 22dad4b044, back when
the `method` class was attached to headers instead of DIVs that wrap
headers.

Old method rendering:

a96247bcac/src/librustdoc/html/render.rs (L2062)

Current method rendering:

432abd86f2/src/librustdoc/html/render/print_item.rs (L721)
2022-09-20 16:16:45 -07:00
Michael Howell
128733d742
Rollup merge of #102034 - notriddle:notriddle/border-bottom, r=GuillaumeGomez
rustdoc: remove no-op CSS `h1-6 { border-bottom-color }`

For this rule to have an actual effect, the border-bottom width needs specified, elsewhere, without also specifying the color. This doesn't happen. Ever since 88b137d5fe, every spot where headers get a border assigned to them also assigns the color.

Preview: https://notriddle.com/notriddle-rustdoc-test/border-bottom/rustc_monomorphize/collector/index.html
2022-09-20 10:13:02 -07:00
Michael Howell
1b54ee38a3
Rollup merge of #102027 - notriddle:notriddle/docblock-item-decl, r=GuillaumeGomez
rustdoc: remove `docblock` class from `item-decl`

This class was originally added in 73b97c7e7c to support hiding and showing the item, because `main.js` went through all `docblock` elements in the DOM and added toggles to them.

73b97c7e7c/src/librustdoc/html/static/main.js (L1856-L1867)

The `item-decl` is no longer auto-hidden since c96f86de30 removed it.

`item-decl` used to be called `type-decl`: that name was changed in 8b7a2dd462.

The `docblock` class is no longer used for implementing toggles, since rustdoc switched to using `<details>` elements.

Preview: https://notriddle.com/notriddle-rustdoc-test/docblock-item-decl/rustdoc/clean/types/enum.Type.html
2022-09-20 10:13:01 -07:00
Michael Howell
78d8ce3faa rustdoc: remove no-op CSS h1-6 { border-bottom-color }
For this rule to have an actual effect, the border-bottom width needs
specified, elsewhere, without also specifying the color. This doesn't
happen. Ever since 88b137d5fe, every spot
where headers get a border assigned to them also assigns the color.
2022-09-19 20:14:09 -07:00
Michael Howell
9457380ac9 rustdoc: remove docblock class from item-decl
This class was originally added in 73b97c7e7c
to support hiding and showing the item, because `main.js` went through all
`docblock` elements in the DOM and added toggles to them.

73b97c7e7c/src/librustdoc/html/static/main.js (L1856-L1867)

The `item-decl` is no longer auto-hidden since
c96f86de30 removed it.

`item-decl` used to be called `type-decl`: that name was changed in
8b7a2dd462.

The `docblock` class is no longer used for implementing toggles, since
rustdoc switched to using `<details>` elements.
2022-09-19 10:52:51 -07:00
Michael Howell
60c98ce11c rustdoc: remove unused CSS td.summary-column
It was added in 2a1bad70dd to go with this
module summary function:

2a1bad70dd/src/librustdoc/html/format.rs (L767-L780)

The corresponding HTML was removed in
0a46933c4d.
2022-09-18 20:03:17 -07:00
Matthias Krüger
c0e8d46e20
Rollup merge of #101954 - notriddle:notriddle/location-a-first-of-type, r=GuillaumeGomez
rustdoc: remove redundant `.location a { font-weight: 500 }`

The `class="location"` element is an h2, either in the sidebar or in the mobile header. Either way, it already has `font-weight: 500`, which the link inside will inherit.

The original version of this rule was added in 9e82fc7ef9. At that time, the location header was rendered as a paragraph with the full path:

9e82fc7ef9/src/librustdoc/html/render.rs (L2080)

Nowadays, it's rendered as a true header, with only the name of the item, and the full path is included in a separate `fqn` header:

98ad6a5519/src/librustdoc/html/render/mod.rs (L1797)
2022-09-18 02:55:31 +02:00
Michael Howell
b693d2cadf rustdoc: remove redundant .location a { font-weight: 500 }
The `class="location"` element is an h2, either in the sidebar or in the
mobile header. Either way, it already has `font-weight: 500`, which the link
inside will inherit.

The original version of this rule was added in
9e82fc7ef9. At that time, the location header
was rendered as a paragraph with the full path:

9e82fc7ef9/src/librustdoc/html/render.rs (L2080)

Nowadays, it's rendered as a true header, with only the name of the item,
and the full path is included in a separate `fqn` header:

98ad6a5519/src/librustdoc/html/render/mod.rs (L1797)
2022-09-17 15:33:12 -07:00
bors
5253b0a0a1 Auto merge of #101949 - matthiaskrgr:rollup-xu5cqnd, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #101093 (Initial version of 1.64 release notes)
 - #101713 (change AccessLevels representation)
 - #101821 (Bump Unicode to version 15.0.0, regenerate tables)
 - #101826 (Enforce "joined()" and "joined_with_noop()" test)
 - #101835 (Allow using vendoring when running bootstrap from outside the source root)
 - #101942 (Revert "Copy stage0 binaries into stage0-sysroot")
 - #101943 (rustdoc: remove unused CSS `.non-exhaustive { margin-bottom }`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2022-09-17 22:04:28 +00:00
Matthias Krüger
1f31bee266
Rollup merge of #101934 - GuillaumeGomez:theme-links-cleanup, r=notriddle
Continue migration of CSS themes

Now that https://github.com/rust-lang/rust/pull/101898 has been merged, we can move forward.

This PR moves more CSS theme rules as CSS variables. I also added a GUI test to prevent regressions.

Part of https://github.com/rust-lang/rust/pull/98460.

r? ``@notriddle``
2022-09-17 19:27:09 +02:00
Matthias Krüger
9702c6cacf
Rollup merge of #101918 - notriddle:notriddle/all, r=GuillaumeGomez
rustdoc: clean up CSS for All Items and All Crates lists

This reduces the amount of CSS, and makes these two pages more consistent (which, necessarily, means changing them a bit).

# Before

![image](https://user-images.githubusercontent.com/1593513/190735035-c66b2664-3783-483c-9bc6-89f80e4a5490.png)

![image](https://user-images.githubusercontent.com/1593513/190735134-1d5df81d-58c5-4c86-b066-6dd3031ffc2e.png)

# After

![image](https://user-images.githubusercontent.com/1593513/190735261-fc3878bb-0cab-4c4e-a6da-b5f7abd06588.png)

![image](https://user-images.githubusercontent.com/1593513/190735389-935a7836-f2c0-4349-a7d0-7fe5378f6b9a.png)
2022-09-17 19:27:08 +02:00
Michael Howell
aeddd932a6 rustdoc: remove unused CSS .non-exhaustive { margin-bottom }
This selector was added in 959a13d53e to
target a `<div class="non-exhaustive">`. With
4edcf61479, the non-exhaustive indicator was
changed to a `<details>`, and a separate selector targetting
`details.non-exhaustive` was added for it, but the old selector was never
removed.
2022-09-17 09:00:51 -07:00
Michael Howell
b1178afcb4
Rollup merge of #101911 - notriddle:notriddle/source-content, r=GuillaumeGomez
rustdoc: remove no-op CSS on `.source .content`

# `margin-left: 0`

This rule originated in 7669f04fb0, to override the default, massive left margin that content used to accommodate the sidebar:

7669f04fb0/src/librustdoc/html/static/main.css (L307-L309)

This massive left margin doesn't exist any more. It was replaced with a flexbox-based sidebar layout in 135281ed15.

# `max-width: none`

This rule originated in 7669f04fb0, to override the default, limited line-width that makes sense for prose, but doesn't make sense for code (which typically uses hard-wrapped lines):

7669f04fb0/src/librustdoc/html/static/main.css (L153)

This line width limiter isn't applied to the `<div class="content">` node any more. It's been moved to a separate wrapper `<div>` that used to be called `main-inner` (in 135281ed15) but is now called `width-limiter` (since d7528e2157).
2022-09-16 20:37:17 -07:00
Michael Howell
9c6ef4ae38
Rollup merge of #101898 - GuillaumeGomez:rm-unused-css, r=notriddle
Remove some unused CSS rules

Since we now have list of items for the ones on the page, we don't need the CSS rules anymore in the sidebar (`.sidebar a`). As for the `.content` ones, they are used to highlight the items in the page (for definitions and others). Surprisingly enough, `method` and `tymethod` are all replaced with `fnname`.

I also used this opportunity to remove these rules in `ayu.css`:

```css
.stab.unstable {}
h2,
h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.type):not(.tymethod) {}
```

In the second commit, I removed the `.block a.current*` CSS rules as they're overridden by `.sidebar a.current*` CSS rules.

In the third commit I removed unneeded empty rules (that were there to satisfy the `--check-theme` option).

cc ``@jsha``
r? ``@notriddle``
2022-09-16 20:37:16 -07:00
Michael Howell
b72de9be74 rustdoc: clean up CSS for All Items and All Crates lists
This reduces the amount of CSS, and makes these two pages more consistent
(which, necessarily, means changing them a bit).
2022-09-16 13:59:45 -07:00
Michael Howell
ac8628bcf6 rustdoc: remove no-op CSS .source .content { max-width: none }
This rule originated in 7669f04fb0, to
override the default, limited line-width that makes sense for prose, but
doesn't make sense for code (which typically uses hard-wrapped lines):

7669f04fb0/src/librustdoc/html/static/main.css (L153)

This line width limiter isn't applied to the `<div class="content">` node
any more. It's been moved to a separate wrapper `<div>` that used to be
called `main-inner` (in 135281ed15) but is
now called `width-limiter` (since
d7528e2157).
2022-09-16 10:46:55 -07:00
Michael Howell
1676a9ad61 rustdoc: remove no-op CSS .source .content { margin-left: 0 }
This rule originated in 7669f04fb0, to
override the default, massive left margin that content used to accommodate
the sidebar:

7669f04fb0/src/librustdoc/html/static/main.css (L307-L309)

This massive left margin doesn't exist any more. It was replaced with a
flexbox-based sidebar layout in 135281ed15.
2022-09-16 10:46:47 -07:00
Guillaume Gomez
1c659977d6 Create new CSS variables for links color 2022-09-16 18:26:39 +02:00
Guillaume Gomez
28956d18d1 Remove unneeded empty ayu CSS rules 2022-09-16 18:25:08 +02:00
Guillaume Gomez
7cf67bfaa2 Remove unused .block a.current* rules 2022-09-16 18:25:08 +02:00
Guillaume Gomez
99c00714cf Remove some unused CSS rules 2022-09-16 16:18:54 +02:00
Guillaume Gomez
e284393c9e
Rollup merge of #101877 - notriddle:notriddle/block, r=Dylan-DPC
rustdoc: remove no-op CSS `.block { padding: 0 }`

This rule was changed in 8fb1250aba from the original version that had a non-zero padding. It's not needed, because it's not overriding anything that would've given `.block` a padding.
2022-09-16 13:07:19 +02:00
Guillaume Gomez
e96abefe80
Rollup merge of #101494 - jsha:notable-traits-right, r=GuillaumeGomez
rustdoc mobile: move notable traits to return type

These were originally on the left, but were moved to the return type in c90fb7185a. The CSS rule for mobile did not get updated at the time, so updating it now.

r? `@notriddle`
2022-09-16 13:07:16 +02:00
Michael Howell
7c8e4ef49d rustdoc: remove no-op CSS .block { padding: 0 }
This rule was changed in 8fb1250aba from the
original version that had a non-zero padding. It's not needed, because
it's not overriding anything that would've given `.block` a padding.
2022-09-15 17:16:59 -07:00
Michael Howell
7f1734cd94 rustdoc: remove no-op CSS h1-4 { color: --main-color }
Headers already inherit the font color they need from their parents.

This rule dates back to earlier versions of the rustdoc theme, where headers
and body had different text colors.

68c15be8b5/src/librustdoc/html/static/main.css (L72-L98)

Nowadays, since the two have exactly the same color (specified by the
`--main-color` variable), this rule does nothing.
2022-09-15 09:59:27 -07:00
Matthias Krüger
f62dd52768
Rollup merge of #101820 - notriddle:notriddle/a, r=GuillaumeGomez
rustdoc: remove no-op rule `a { background: transparent }`

The background is transparent by default.

It was added in 5a01dbe67b to work around a bug in the JavaScript syntax highlighting engine that rustdoc used at the time.
2022-09-15 08:00:18 +02:00
Matthias Krüger
e6aef7bf38
Rollup merge of #101812 - notriddle:notriddle/titles-button, r=GuillaumeGomez
rustdoc: clean up CSS `#titles` using flexbox

This commit allows it to stop manually specifying pixel heights for the tabs on search result pages. There's less messing with manual breakpoints and less complex CSS selectors.

# Before

![image](https://user-images.githubusercontent.com/1593513/190215034-253c0f58-07c6-41c9-8848-0442c0522070.png)

# After

![image](https://user-images.githubusercontent.com/1593513/190215065-d2453dca-edf0-4353-8fc8-3a3b31f03892.png)
2022-09-15 08:00:17 +02:00
Matthias Krüger
944984885a
Rollup merge of #101778 - notriddle:notriddle/docblock-short-p, r=GuillaumeGomez
rustdoc: clean up DOM by removing `.dockblock-short p`

On https://doc.rust-lang.org/nightly/std/ this reduces the number out of `document.querySelectorAll("*").length` from 1278 to 1103.

Preview: https://notriddle.com/notriddle-rustdoc-test/docblock-short-p/std/index.html
2022-09-15 08:00:14 +02:00
Michael Howell
75aa73db30 rustdoc: remove no-op rule a { background: transparent }
The background is transparent by default.

It was added in 5a01dbe67b to work around a bug
in the JavaScript syntax highlighting engine that rustdoc used at the time.
2022-09-14 13:09:32 -07:00