Commit Graph

236 Commits

Author SHA1 Message Date
Matthias Krüger 43a7438e27 Rollup merge of #101397 - notriddle:notriddle/source-nav-not-sidebar-sub, r=GuillaumeGomez
rustdoc: remove redundant mobile-sized `.source nav:not(.sidebar).sub`

It's redundant because there's already a selector `.source nav.sub` with exactly the same margin-left at [line 796].

[line 796]: https://github.com/rust-lang/rust/blob/84f0c3f79a85329dd79a54694ff8a7f427c842e9/src/librustdoc/html/static/css/rustdoc.css#L796

This selector was added in 1e98fb1027, along with an identical desktop selector, but that desktop selector was removed in 6a5f8b1aef as part of a larger simplification.
2022-09-04 18:55:47 +02:00
Michael Howell 3e743a064e rustdoc: remove redundant mobile-sized .source nav:not(.sidebar).sub
It's redundant because there's already a selector `.source nav.sub` with
exactly the same margin-left at line 796.

This selector was added in 1e98fb1027, along
with an identical desktop selector, but that desktop selector was removed in
6a5f8b1aef as part of a larger simplification.
2022-09-03 15:27:04 -07:00
Michael Howell cee90dd773 rustdoc: remove .impl-items { flex-basis } CSS, not in flex container
Added in 34bd2b845b

For this to actually do anything, [according to MDN] (and Firefox Dev Tools),
it must be a "flex item", which only happens if its a direct child of a node
with `display: flex` on it. It seems like it could not have worked at the time
when this rule was added, because the only items in `rustdoc.css` with
`display: flex` active were:

* `#help`

  This should not contain anything like this.

* `.impl-items h4, h4.impl, h3.impl`

  These are all headers, so they shouldn't contain `.impl-items` either.

* `.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant`

  Associated constants and methods definitely shouldn't contain a list of impl
  items, and the `.type` class seems to refer to type aliases, which, when
  shown inside of an impl, only show a link to the aliased type.

[according to MDN]: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis

Nowadays, `display: flex` is a lot more prolific, but `.impl-items` still
seems to only be used in plain block parents:

* If it's not a trait impl, then it's nested below a `<div>` with an id but no
  class, added in a5216cf67d. This will be
  `display: block`, probably. For example, [vec deref]
* Inherent impls also get a `<div>` tag, for example [vec impl], and they are
  also wrapped by their own non-flexbox `<details>` tag.
* If it's a tait implementation, then it's also nested below a `<details>`
  container, like [deref cstring].

[vec impl]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#impl
[vec deref]: https://doc.rust-lang.org/1.63.0/std/vec/struct.Vec.html#deref-methods-%5BT%5D
[deref cstring]: https://doc.rust-lang.org/1.63.0/std/ops/trait.Deref.html#impl-Deref

Also, this would imply that trait items ought to take up as much space as
possible, pushing everything else to the edge of the screen. If this is nested
directly below the `.rustdoc` container, which has a row basis, that would
be bad.
2022-09-03 14:33:31 -07:00
Matthias Krüger 5e34b79c29 Rollup merge of #101335 - notriddle:notriddle/methods-stability, r=notriddle
rustdoc: remove old CSS selector that causes weird spacing

It was added with e08a84a0c1 (actually, it was called `.methods > .stability` at the time) and was directly nested that way.

**EDIT**: It is technically reachable code still, but it seems wrong.

## With the old CSS rule still present

https://notriddle.com/notriddle-rustdoc-test/weird-spacing/lib/struct.Foo.html

![image](https://user-images.githubusercontent.com/1593513/188216226-c667c560-d33d-494f-a492-4e0ec3ac0009.png)

## Version 2 (an older version of this PR)

https://notriddle.com/notriddle-rustdoc-test/normal-spacing-2/lib/struct.Foo.html

![image](https://user-images.githubusercontent.com/1593513/188216418-9fcd3109-f1b2-425d-b4fc-0c6b3b54e48e.png)

## Version 3 (with alignment fix for mobile)

https://notriddle.com/notriddle-rustdoc-test/normal-spacing-3/lib/struct.Foo.html

![image](https://user-images.githubusercontent.com/1593513/188223161-0e1ebce7-842f-41cb-8a0c-ae43aedcfccc.png)
2022-09-03 14:20:49 +02:00
Guillaume Gomez 7fb0a89bec Clean up themes CSS 2022-09-03 00:16:09 +02:00
Michael Howell 0f29824760 rustdoc: put in rule to get alignment in desktop and mobile layouts 2022-09-02 13:13:22 -07:00
Michael Howell 6f95c89c4d rustdoc: remove incorrect CSS rule causing misaligned item-info 2022-09-02 11:50:19 -07:00
Michael Howell df0904750d rustdoc: remove unused CSS selector .methods > .item-info
It was added with e08a84a0c1
(actually, it was called `.methods > .stability` at the time) and was
directly nested that way.

But with the switch to `<details>`, the code has changed drastically out from
under it, to the point where you have to go out of your way to actually get
it to render this way, and the result looks overly-tight and weird alongside
the normal version where this code is not reachable.
2022-09-02 11:45:16 -07:00
Matthias Krüger e77b8ce100 Rollup merge of #101323 - GuillaumeGomez:remove-unused-css, r=notriddle
Remove unused .toggle-label CSS rule

It was added in https://github.com/rust-lang/rust/pull/44192 but since we moved to `<details>`, we don't use this rule any more.

r? `@notriddle`
2022-09-02 18:22:04 +02:00
Guillaume Gomez 017cfebcac Remove unused .toggle-label CSS rule 2022-09-02 15:09:59 +02:00
Guillaume Gomez 3880925e2c Rollup merge of #101298 - notriddle:notriddle/rustdoc-main-since, r=GuillaumeGomez
rustdoc: remove unused CSS `#main-content > .since`

This rule was added (actually, it was called `#main > .since` back then) with cdca084377 and you can see an example of the bug it's intended to fix in <https://doc.rust-lang.org/1.9.0/std/fmt/fn.write.html> by looking at the `1.0.0` version marker.

However, a5a2f2b951 changed it so that `<span class="since">` is always placed in an out-of-band wrapper, so it's never nested directly below `#main` / `#main-content` any more.
2022-09-02 11:34:54 +02:00
Michael Howell 096efc29f1 rustdoc: remove unused CSS #main-content > .since
This rule was added (actually, it was called `#main > .since` back then) with
cdca084377 and you can see an example of the
bug it's intended to fix in <https://doc.rust-lang.org/1.9.0/std/fmt/fn.write.html>
by looking at the `1.0.0` version marker.

However, a5a2f2b951 changed it so that
`<span class="since">` is always placed in an out-of-band wrapper, so it's
never nested directly below `#main` / `#main-content` any more.
2022-09-01 15:25:22 -07:00
Matthias Krüger 1c12dedd53 Rollup merge of #101292 - rust-lang:notriddle/rustdoc-table-first-child, r=GuillaumeGomez
rustdoc: remove unneeded CSS `.content table td:first-child > a`

This rule was added in c1c6175e62 to benefit the module items table. However, the module items table stopped using table tags when 6020c79dde switched us over to grid layout.
2022-09-01 21:37:23 +02:00
Michael Howell 31071336f5 rustdoc: remove unneeded CSS .content table td:first-child > a
This rule was added in c1c6175e62 to benefit
the module items table. However, the module items table stopped using table
tags when 6020c79dde switched us over to grid
layout.
2022-09-01 11:38:54 -07:00
Michael Howell 037a911bd8 rustdoc: remove unused .docblock .impl-items CSS
The impl-items list stopped being nested inside a docblock since c1b1d6804b
2022-08-31 15:47:48 -07:00
Michael Howell f72697b4d3 rustdoc: remove unused CSS selectors for .table-display
This class was added to support the function signature [src] lockup. That
lockup was changed in 34bd2b845b to use flexbox
instead, leaving these selectors unused.
2022-08-29 17:25:43 -07:00
Yuki Okushi bd89372563 Rollup merge of #101063 - GuillaumeGomez:merge-duplicated-css, r=notriddle
Merge duplicated CSS rules

I used the [stylelint](https://stylelint.io/user-guide/configure) tool to check for duplicated CSS rules in order to merge them.

r? `@notriddle`
2022-08-27 13:14:26 +09:00
Yuki Okushi 0cad2746be Rollup merge of #101046 - notriddle:notriddle/table-css, r=jsha
rustdoc: remove incorrect CSS selector `.impl-items table td`

Fixes #100994

This selector was added in c7312fbae4. The bug can be seen at <https://doc.rust-lang.org/1.27.0/alloc/slice/trait.SliceIndex.html#foreign-impls>.

This rule was added to help with a `<table>` that was used for displaying the function signature [src] lockup. That lockup was changed in 34bd2b845b to use flexbox instead, leaving this selector unused (at least, for its original purpose).
2022-08-27 13:14:23 +09:00
Yuki Okushi 84f5ccd917 Rollup merge of #101044 - notriddle:notriddle/css-hidden-by, r=jsha
rustdoc: remove unused CSS for `hidden-by-*-hider`

This CSS seems to have become obsolete with the move to `<details>` tags,
and its corresponding JavaScript was removed in aee054d05d
2022-08-27 13:14:22 +09:00
Guillaume Gomez a74f453833 Merge duplicated CSS rules 2022-08-27 00:37:04 +02:00
Michael Howell 25eb52ff69 rustdoc: remove incorrect CSS selector .impl-items table td
Fixes #100994

This selector was added in c7312fbae4.
The bug can be seen at <https://doc.rust-lang.org/1.27.0/alloc/slice/trait.SliceIndex.html#foreign-impls>.

This rule was added to help with a `<table>` that was used for displaying the
function signature [src] lockup. That lockup was changed in
34bd2b845b to use flexbox instead, leaving this
selector unused (at least, for its original purpose).
2022-08-26 08:48:50 -07:00
Michael Howell 832fd237d1 rustdoc: remove unused CSS for hidden-by-*-hider
This CSS seems to have become obsolete with the move to `<details>` tags,
and its corresponding JavaScript was removed in aee054d05d
2022-08-26 07:46:53 -07:00
Guillaume Gomez 6ada6c5eb0 Rollup merge of #101012 - notriddle:notriddle/variants_table, r=jsha
rustdoc: remove unused CSS for `.variants_table`

Continuation of #100938 and #101010. This rule was added to support the old, table-based style for displaying enum variants, which are now displayed using headers and paragraphs.
2022-08-26 14:08:49 +02:00
Yuki Okushi b4d5f48e43 Rollup merge of #101010 - notriddle:notriddle/multi-column, r=jsha
rustdoc: remove unused CSS for `.multi-column`

As a sanity check, [this tool] can be used to run a CSS query across an HTML tree to detect if a selector ever matches (I use compiler-docs and std docs). This isn't good enough, because I also need to account for JavaScript, but this class is never mentioned in any of the JS files, either.

According to [blame], this class was added when rustdoc was first written, and, as far as I can tell, was never actually used.

[this tool]: https://gitlab.com/notriddle/html-scanner
[blame]: https://github.com/rust-lang/rust/blame/4d45b0745ab227feb9000bc15713ade4b99241ea/src/librustdoc/html/static/css/rustdoc.css#L753-L761
2022-08-26 09:51:47 +09:00
Michael Howell 8c65478c51 rustdoc: remove unused CSS for .variants_table
Continuation of #100938 and #101010. This rule was added to support the old,
table-based style for displaying enum variants, which are now displayed using
headers and paragraphs.
2022-08-25 14:27:40 -07:00
Michael Howell 45cc8cb3b9 rustdoc: remove unused CSS for .multi-column
As a sanity check, [this tool] can be used to run a CSS query across an HTML
tree to detect if a selector ever matches (I use compiler-docs and std
docs). This isn't good enough, because I also need to account for JavaScript,
but this class is never mentioned in any of the JS files, either.

According to [blame], this class was added when rustdoc was first written,
and, as far as I can tell, was never actually used.

[this tool]: https://gitlab.com/notriddle/html-scanner
[blame]: https://github.com/rust-lang/rust/blame/4d45b0745ab227feb9000bc15713ade4b99241ea/src/librustdoc/html/static/css/rustdoc.css#L753-L761
2022-08-25 11:43:36 -07:00
Michael Howell b1925b811e rustdoc: remove unused CSS rule
According to [blame], this rule was added to support enum struct
variants. However, enum struct variants don't use tables in their design
any more, so this rule does nothing.

[blame]: https://github.com/rust-lang/rust/blame/87991d5f5d72d6baca490141cb890211ba2f3843/src/librustdoc/html/static/css/rustdoc.css#L748
2022-08-23 18:15:53 -07:00
Matthias Krüger aaa5574a18 Rollup merge of #100718 - GuillaumeGomez:fix-item-info, r=jsha
[rustdoc] Fix item info display

Fixes  #100369.

The solution I came up with was simply to wrap the "text part" of the `item-info` into another span so that `flex` wouldn't mess with it.

Live demo is [here](https://rustdoc.crud.net/imperio/fix-item-info/foo/struct.ItemInfo.html).

r? ``@jsha``
2022-08-20 19:45:14 +02:00
Guillaume Gomez fe6956b7be Fix item-info display 2022-08-18 16:16:34 +02:00
Guillaume Gomez 09396fc30a Remove unused CSS rule 2022-08-18 16:14:46 +02:00
Guillaume Gomez 2d968a142f Simplify rustdoc themes by relying more on CSS variables 2022-08-18 16:07:53 +02:00
Frank Steffahn e957480f04 Two small improvements:
Fix oversight duplicate property left in CSS (dark theme).

Improve wording in comment that mentions `appearance: none`
2022-08-10 15:55:26 +02:00
Frank Steffahn 16bcc18334 Improve crate selection on rustdoc search results page
Resolves all of issue #93240

Reproduces a similar change as #99086, but with improvements

In particular, this PR inlcludes:
* redesigning the crate-search selector so the background color matches its surroundings
* decrease the font of the dropdown menu to a reaonable size
* add a hover effect
* make the color of the arrow theme-dependent, using a surrounding div, with :after pseudo-element
  that can then be transformed using CSS filters to approximate the desired color
* fix the text "in" to match the title font
* remove the "for xyz" in the "Results for xyz in [All crates]" title when
  searching for search term "xyz"; you can already see what you're searching for
  as it's typed in the search bar!
* in line with #99086, handle super-long crate names appropriately without a long <select>
  element escaping the screen area; the improvement is that we also keep the title
  within a single line now; uses some flex layout shenanigans...
* the margins / paddings are adjusted so the selected label of the <select> fits within
  the rest of that title nicely; also some inconsistency in the way that Firefox renders
  a <select> with "appearance: none" (roughly 4px more padding left and right of the text
  than e.g. Chrome) is worked around, and it now produces a result that looks (essentially)
  identical to Chrome
* the color of the help menu and settings menu border in light theme is made to match with
  the color of the corresponding buttons, like they do (match) in the ayu theme
* the casing of "All crates" changes to "all crates"
* the new tests from #99086 are temporarily disabled, until they can be adapted later
2022-08-10 15:55:26 +02:00
Matthias Krüger 96908527ca Rollup merge of #99779 - GuillaumeGomez:fix-item-info-pos-and-height, r=notriddle
Fix item info pos and height

Fixes https://github.com/rust-lang/rust/issues/98266.
Fixes https://github.com/rust-lang/rust/issues/98343.

You can test it [here](https://rustdoc.crud.net/imperio/fix-item-info-pos-and-height/lib2/trait.Trait.html).

Here is a screenshot of the result:

![Screenshot from 2022-07-26 21-55-53](https://user-images.githubusercontent.com/3050060/181100624-18b8b045-5c25-4c7c-9c44-97d55d29b675.png)

r? `@jsha`
2022-08-02 07:30:41 +02:00
Guillaume Gomez 2d52aa05d1 Rollup merge of #99812 - GuillaumeGomez:fix-headings-colors, r=jsha,notriddle
Fix headings colors

Fixes #99797.

![image](https://user-images.githubusercontent.com/3050060/181260966-49faf9d3-f6b8-4de4-bc7d-ed9f0467cf68.png)

cc `@jsha`
r? `@notriddle`
2022-07-27 17:55:08 +02:00
Guillaume Gomez 88b137d5fe Fix headings border 2022-07-27 15:36:27 +02:00
Guillaume Gomez 4df8e78a59 Fix invalid css property value 2022-07-27 15:00:43 +02:00
Guillaume Gomez 51e658f966 Fix display of item info and unify their height 2022-07-26 21:34:56 +02:00
Guillaume Gomez 202e32a2ca Fix sidebar background-color on mobile 2022-07-25 14:19:26 +02:00
Dylan DPC aec458b54f Rollup merge of #99423 - GuillaumeGomez:group-css-font-rule, r=notriddle
Group CSS font rule

Another CSS cleanup I came by when working on something else.

r? ``@notriddle``
2022-07-22 11:53:41 +05:30
Guillaume Gomez b8c82508df Remove CSS transition for search input border-color 2022-07-20 12:19:30 +02:00
Guillaume Gomez b3c1b95662 Fix crate filter select display 2022-07-20 03:00:23 +02:00
Guillaume Gomez 0e146148c4 Group CSS font rule 2022-07-18 20:24:47 +02:00
Guillaume Gomez 62d3b79d4b Remove unused CSS 2022-07-14 15:03:34 +02:00
Guillaume Gomez 20b5c739d1 Continue themes CSS migration over CSS variables 2022-07-11 15:01:09 +02:00
Matthias Krüger ca51d325e8 Rollup merge of #99086 - GuillaumeGomez:search-result-crate-filter-dropdown, r=notriddle
Fix display of search result crate filter dropdown

In case a crate name is too long, the `<select>` completely overflows its parent. Another problem is that there is left margin on the `select` which break the alignment. You can see both issues here:

![Screenshot from 2022-07-09 15-31-12](https://user-images.githubusercontent.com/3050060/178108959-0eb5af19-ec60-4d34-a2fd-c27147683c78.png)

And with the fix:

![Screenshot from 2022-07-09 15-33-37](https://user-images.githubusercontent.com/3050060/178108980-71030a92-84ee-4ee5-98e3-f97d03a6fbaf.png)

cc `@jsha`
r? `@notriddle`
2022-07-10 11:52:15 +02:00
Guillaume Gomez 0201f2f591 Fix display of search result crate filter dropdown 2022-07-09 15:54:14 +02:00
Infra aa7bcaa8c3 set all padding for main element in print 2022-07-08 12:44:16 -04:00
Infra 933cbd4069 try to fix tidy issues 2022-07-08 01:54:55 -04:00
Infra 0b50007760 improve print styles
this change removes some interactive elements in `@media print` form.

more specifically, it removes the source links, the expand/collapse toggle buttons, and the `#copy-path` button.
it also adjusts some spacing and removes the `.top-doc` description completely if it's currently collapsed.
2022-07-08 01:29:35 -04:00