about summary refs log tree commit diff
path: root/src/librustdoc/html/static/css/rustdoc.css
AgeCommit message (Collapse)AuthorLines
2022-11-10Migrate :target rules to use CSS variablesGuillaume Gomez-0/+2
2022-11-09Migrate crate-search element to CSS variablesGuillaume Gomez-1/+9
2022-11-07rustdoc: use javascript to layout notable traits popupsMichael Howell-9/+14
Fixes #102576
2022-11-07Fix invalid background-image file nameGuillaume Gomez-1/+1
2022-11-07Rollup merge of #104065 - GuillaumeGomez:css-migrate-logo-filter, r=notriddleYuki Okushi-0/+4
Migrate rust logo filter to CSS variables
2022-11-06Migrate rust logo filter to CSS variablesGuillaume Gomez-0/+4
2022-11-06rustdoc: remove unused CSS `#sidebar-filler`Michael Howell-15/+0
This hack was removed in 6a5f8b1aef1417d7dc85b5d0a229d2db1930eb7c, but the CSS was left in.
2022-11-06Rollup merge of #104014 - GuillaumeGomez:run-button-css-var, r=notriddleMatthias Krüger-0/+6
Migrate test-arrow to CSS variables There should be no UI changes. I kept both `color` and `background-color` properties even though only the ayu theme is actually completely making use of them on hover. r? ``@notriddle``
2022-11-06Rollup merge of #103990 - notriddle:notriddle/logo-container, r=GuillaumeGomezMatthias Krüger-7/+3
rustdoc: clean up `.logo-container` layout CSS This commit should result in no appearance changes. To make the logo container exactly the desired height, you want to get rid of the part of the box used for typographic descenders (you know, the part of g, y, and j that descends below the baseline). After all, it contains no text, but the space is still left open in the layout by default, because `<img>` is `display:inline`. The CSS used to employ three different tricks to accomplish this: * By making `.sidebar .logo-container` a flex container, the image becomes a flex item and is [blockified], without synthesizing any inline boxes. No inline boxes means no descenders. * By giving `.mobile-topbar .logo-container` a max-height exactly the same as the height of the image plus the padding, the descender area gets cut off. * By setting `.sub-logo-container { line-height: 0 }`, we ensure that the only box that contributes to the height of the line box is the image itself, and not any zero-content text boxes that neighbor it. See the [logical height algorithm]. This commit gets rid of the first two hacks, leaving only the third, since it requires only one line of code to accomplish and doesn't require setting the value based on math. [blockified]: https://drafts.csswg.org/css-flexbox-1/#flex-items [logical height algorithm]: https://www.w3.org/TR/css-inline-3/#inline-height
2022-11-05Rollup merge of #103988 - GuillaumeGomez:fix-bottom-border-color, r=notriddleMatthias Krüger-1/+1
Fix search result bottom border color It reverts a color change while keeping the improvement made in #103938. I think it'll need to be backported once merged too. r? `@notriddle`
2022-11-05Rollup merge of #101702 - jsha:static-files2, r=notriddle,GuillaumeGomezMatthias Krüger-12/+12
rustdoc: add hash to filename of toolchain files All static files used by rustdoc are now stored in static.files/ and their filenames include a hash of their contents. Their filenames no longer include the contents of the --resource-suffix flag. This clarifies caching semantics. Anything in static.files can use Cache-Control: immutable because any updates will show up as a new URL. Invocation-specific files like crates-NN.js, search-index-NN.js, and sidebar-items-NN.js still get the resource suffix. This has a useful side effect: once toolchain files aren't affected by resource suffix, it will become possible for docs.rs to include crate version in the resource suffix. That should fix a caching issue with `/latest/` URLs: https://github.com/rust-lang/docs.rs/issues/1593. My goal is that it should be safe to serve all rustdoc JS, CSS, and fonts with infinite caching headers, even when new versions of a crate are uploaded in the same place as old versions. The --disable-minification flag is removed because it would vary the output of static files based on invocation flags. Instead, for rustdoc development purposes it's preferable to symlink static files to a non-minified copy for quick iteration. Example listing: ``` $ cd build/x86_64-unknown-linux-gnu/doc/ && find . | egrep 'js$|css$' | egrep -v 'sidebar-items|implementors' | sort ./crates1.65.0.js ./rust.css ./search-index1.65.0.js ./source-files1.65.0.js ./static.files/ayu-2bfd0af01c176fd5.css ./static.files/dark-95d11b5416841799.css ./static.files/light-c83a97e93a11f15a.css ./static.files/main-efc63f77fb116394.js ./static.files/normalize-76eba96aa4d2e634.css ./static.files/noscript-5bf457055038775c.css ./static.files/rustdoc-7a422337900fa894.css ./static.files/scrape-examples-3dd10048bcead3a4.js ./static.files/search-47f3c289722672cf.js ./static.files/settings-17b08337296ac774.js ./static.files/settings-3f95eacb845293c0.css ./static.files/source-script-215e9db86679192e.js ./static.files/storage-26d846fcae82ff09.js ``` Fixes #98413
2022-11-05Migrate test-arrow to CSS variablesGuillaume Gomez-0/+6
2022-11-05Fix search result bottom border colorGuillaume Gomez-1/+1
2022-11-04rustdoc: clean up `.logo-container` layout CSSMichael Howell-7/+3
This commit should result in no appearance changes. To make the logo container exactly the desired height, you want to get rid of the part of the box used for typographic descenders (you know, the part of g, y, and j that descends below the baseline). After all, it contains no text, but the space is still left open in the layout by default, because `<img>` is `display:inline`. The CSS used to employ three different tricks to accomplish this: * By making `.sidebar .logo-container` a flex container, the image becomes a flex item and is [blockified], without synthesizing any inline boxes. No inline boxes means no descenders. * By giving `.mobile-topbar .logo-container` a max-height exactly the same as the height of the image plus the padding, the descender area gets cut off. * By setting `.sub-logo-container { line-height: 0 }`, we ensure that the only box that contributes to the height of the line box is the image itself, and not any zero-content text boxes that neighbor it. See the [logical height algorithm]. This commit gets rid of the first two hacks, leaving only the third, since it requires only one line of code to accomplish and doesn't require setting the value based on math. [blockified]: https://drafts.csswg.org/css-flexbox-1/#flex-items [logical height algorithm]: https://www.w3.org/TR/css-inline-3/#inline-height
2022-11-04rustdoc: get rid of CSS/DOM `div.desc span`, which isn't really neededMichael Howell-8/+7
2022-11-04rustdoc: simplify search results CSS and DOMMichael Howell-14/+6
There is a layout change caused by this commit, but it's subtle. You won't notice it unless you're looking for it.
2022-11-04Rollup merge of #103940 - ↵Matthias Krüger-1/+0
notriddle:notriddle/main-content-item-info-margin-top, r=GuillaumeGomez rustdoc: remove no-op CSS `#main-content > .item-info { margin-top: 0 }` When this line was added in 04b4c40682c01cad8f9bc8d5b3907be91d6f81d4, it overrode a negative `margin-top` that was set on it by default. https://github.com/rust-lang/rust/blob/04b4c40682c01cad8f9bc8d5b3907be91d6f81d4/src/librustdoc/html/static/rustdoc.css#L500-L516 That negative top margin was removed in 593d6d1cb15c55c88319470dabb40126c7b7f1e2.
2022-11-04Rollup merge of #103938 - notriddle:notriddle/search-results-border-bottom, ↵Matthias Krüger-2/+1
r=GuillaumeGomez rustdoc: clean up hardcoded CSS border color on search results Hardcoded colors in rustdoc.css should usually be avoided. Preview: http://notriddle.com/notriddle-rustdoc-demos/border-bottom-search/test_dingus/?search=test
2022-11-04Rollup merge of #103905 - notriddle:notriddle/sidebar-elems-background, ↵Matthias Krüger-1/+0
r=GuillaumeGomez rustdoc: remove redundant mobile CSS `.sidebar-elems { background }` The exact same background is already set for its parent, the `nav.sidebar`.
2022-11-03rustdoc: remove no-op CSS `#main-content > .item-info { margin-top: 0 }`Michael Howell-1/+0
When this line was added in 04b4c40682c01cad8f9bc8d5b3907be91d6f81d4, it overrode a negative `margin-top` that was set on it by default. https://github.com/rust-lang/rust/blob/04b4c40682c01cad8f9bc8d5b3907be91d6f81d4/src/librustdoc/html/static/rustdoc.css#L500-L516 That negative top margin was removed in 593d6d1cb15c55c88319470dabb40126c7b7f1e2.
2022-11-03rustdoc: clean up hardcoded CSS border color on search resultsMichael Howell-2/+1
Hardcoded colors in rustdoc.css should usually be avoided.
2022-11-02rustdoc: remove redundant mobile CSS `.sidebar-elems { background }`Michael Howell-1/+0
The exact same background is already set for its parent, the `nav.sidebar`.
2022-11-02Rollup merge of #103890 - notriddle:notriddle/mobile-rustdoc-padding-top, ↵Matthias Krüger-1/+0
r=GuillaumeGomez rustdoc: remove unused mobile CSS `.rustdoc { padding-top: 0 }` When this rule was added in dd437ee6ed81f85c715bf415d261feca484bb39f, as `body { padding-top: 0 }`, the desktop body tag had non-zero top padding. This padding was removed in 135281ed1525db15edd8ebd092aa10aa40df2386. This rule no longer overrides a rule in rustdoc's desktop styles, and also doesn't override the UA stylesheet, since the [HTML standard] has only margin, not padding, on the page body. [HTML standard]: https://html.spec.whatwg.org/multipage/rendering.html#the-page
2022-11-02rustdoc: remove unused mobile CSS `.rustdoc { padding-top: 0 }`Michael Howell-1/+0
When this rule was added in dd437ee6ed81f85c715bf415d261feca484bb39f, as `body { padding-top: 0 }`, the desktop body tag had non-zero top padding. This padding was removed in 135281ed1525db15edd8ebd092aa10aa40df2386. This rule no longer overrides a rule in rustdoc's desktop styles, and also doesn't override the UA stylesheet, since the [HTML standard] has only margin, not padding, on the page body. [HTML standard]: https://html.spec.whatwg.org/multipage/rendering.html#the-page
2022-11-01rustdoc: simplify mobile item-table CSSMichael Howell-8/+1
Using flexbox in column direction is needlessly complicated, since no special flex powers are being used here. Just use regular block layout. This should result in no visible changes.
2022-11-01Rollup merge of #103817 - notriddle:notriddle/attribute-css, r=GuillaumeGomezDylan DPC-1/+1
rustdoc: rename syntax highlighting CSS class `attribute` to `attr` Link classes use the abbreviation `attr` ... https://github.com/rust-lang/rust/blob/2afca78a0b03db144c5d8b9f8868feebfe096309/src/librustdoc/html/static/css/rustdoc.css#L255-L259 ... so why does syntax highlighting use the full word? https://github.com/rust-lang/rust/blob/2afca78a0b03db144c5d8b9f8868feebfe096309/src/librustdoc/html/static/css/rustdoc.css#L1095-L1097
2022-11-01Rollup merge of #103813 - notriddle:notriddle/search-results-clear-both, ↵Dylan DPC-2/+0
r=GuillaumeGomez rustdoc: remove unnecessary CSS `.search-results { clear: both }` Since the tabs use flexbox instead of float as of 44d9b8d07014d976c88f541dbe0af37e64e37bdd, clearing does nothing.
2022-11-01Rollup merge of #103793 - notriddle:notriddle/rustdoc-toggle-in-impl-items, ↵Yuki Okushi-6/+8
r=GuillaumeGomez rustdoc: add margins to all impl-item toggles, not just methods Fixes #103782 ## Before ![image](https://user-images.githubusercontent.com/1593513/198943087-8cab8b25-2092-49d6-89b4-caa2989dedf0.png) ## After ![image](https://user-images.githubusercontent.com/1593513/198943111-bc08c2d6-f058-4362-b999-0caf09eb93bf.png)
2022-10-31rustdoc: remove left border from `.src-line-numbers > a`Michael Howell-3/+5
2022-10-31rustdoc: change `.src-line-numbers > span` to `.src-line-numbers > a`Michael Howell-3/+2
This allows people to treat them like real links, such as right-click to copy URL, and makes the line numbers in a scraped example work at all, when before this commit was added, they had the clickable pointer cursor but did not actually do anything when clicked.
2022-10-31rustdoc: rename syntax highlighting CSS class `attribute` to `attr`Michael Howell-1/+1
Link classes use the abbreviation `attr`, so why shouldn't syntax highlighting?
2022-10-31rustdoc: remove unnecessary CSS `.search-results { clear: both }`Michael Howell-2/+0
Since the tabs use flexbox instead of float as of 44d9b8d07014d976c88f541dbe0af37e64e37bdd, clearing does nothing.
2022-10-30rustdoc: add margins to all impl-item toggles, not just methodsMichael Howell-6/+8
Fixes #103782
2022-10-30Rollup merge of #101944 - notriddle:notriddle/toggle-all-docs, ↵Michael Howell-4/+11
r=jsha,GuillaumeGomez rustdoc: clean up `#toggle-all-docs` This change converts the element from an `<a>` link to a button. It's pretty much directly trading slightly more CSS for slightly less HTML, and it's also semantically correct (so you don't get a broken "bookmark" option when you right click on it). While doing this, I also got rid of the unnecessary `class="inner"` attribute on the inner span. There was a style targeting `.collapse-toggle > .inner`, but no CSS ever targeted the `#toggle-all-docs > .inner`. Preview: https://notriddle.com/notriddle-rustdoc-test/button-toggle-all-docs/index.html
2022-10-30Rollup merge of #103740 - notriddle:notriddle/search-results-padding-bottom, ↵Dylan DPC-1/+0
r=Dylan-DPC rustdoc: remove unnecessary CSS `.search-results { padding-bottom }` There's nothing underneath it anyway. The conversation on #84462 never really spelled out why it was added.
2022-10-30Rollup merge of #103737 - notriddle:notriddle/margin, r=GuillaumeGomezMatthias Krüger-10/+3
rustdoc: use CSS margin/padding shorthand when all are being set
2022-10-30Rollup merge of #103722 - GuillaumeGomez:cleanup-code-example-css, r=notriddleMatthias Krüger-21/+12
Fix z-indexes of code example feature and cleanup its CSS When reviewing https://github.com/rust-lang/rust/pull/103650, I realized that the `z-index`es of this feature were completely broken: ![Screenshot from 2022-10-28 10-55-27](https://user-images.githubusercontent.com/3050060/198826360-0c5cbe5a-ea8e-452a-9504-38d3da3615e6.png) This PR fixes it by reducing the value of value under the one used for `.popover` (it could be completely removed but then it wouldn't be displayed as nicely). There was also a lot of duplicated CSS so I merged the rules. r? `@notriddle`
2022-10-29rustdoc: add hash to filename of toolchain filesJacob Hoffman-Andrews-12/+12
All static files used by rustdoc are now stored in static.files/ and include a hash of their contents. They no longer include the contents of the --resource-suffix flag. This clarifies caching semantics. Anything in static.files can use Cache-Control: immutable because any updates will show up as a new URL. Invocation-specific files like crates-NN.js, search-index-NN.js, and sidebar-items-NN.js still get the resource suffix. The --disable-minification flag is removed because it would vary the output of static files based on invocation flags. Instead, for rustdoc development purposes it's preferable to symlink static files to a non-minified copy for quick iteration.
2022-10-29rustdoc: remove unnecessary `.search-results { padding-bottom }`Michael Howell-1/+0
There's nothing underneath it anyway. The conversation on b615c0c85469c94041a5e68b9d8b68dcf799f9f1 never really spelled out why it was added.
2022-10-29rustdoc: use CSS margin/padding shorthand when all are being setMichael Howell-10/+3
2022-10-29Fix z-indexes of code example feature and cleanup its CSSGuillaume Gomez-21/+12
2022-10-29Rollup merge of #103663 - notriddle:notriddle/search-container, r=GuillaumeGomezMatthias Krüger-12/+7
rustdoc: remove redundant CSS/DOM `div.search-container` Preview: https://notriddle.com/notriddle-rustdoc-demos/search-container/test_dingus/fn.test.html This wrapper DIV was originally added in 89e1fb322321c05497caa01372ceb7d5b57fa680, when it allowed the search bar's size to be calculated without using `calc()`. This `width` hack can be removed using flexbox.
2022-10-28Rollup merge of #103643 - notriddle:notriddle/summary-focus-visible, ↵Matthias Krüger-4/+2
r=GuillaumeGomez rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tags We really shouldn't be overriding this kind of stuff unless the browser default is really broken (like outlining the thing that isn't clickable). This directly reverts b8f4e74cbc938d3448507d422c98061c2b71c922.
2022-10-28Rollup merge of #103585 - GuillaumeGomez:source-line-css, r=notriddleMatthias Krüger-0/+8
Migrate source line numbers CSS to CSS variables Part of https://github.com/rust-lang/rust/pull/98460. No UI changes. r? ``@notriddle``
2022-10-27rustdoc: remove redundant `div.search-container`Michael Howell-12/+7
This wrapper DIV was originally added in 89e1fb322321c05497caa01372ceb7d5b57fa680, when it allowed the search bar's size to be calculated without using `calc()`. This `width` hack can be removed using flexbox.
2022-10-27rustdoc: stop hiding focus outlines on non-rustdoc-toggle details tagsMichael Howell-4/+2
We really shouldn't be overriding this kind of stuff unless the browser default is really broken (like outlining the thing that isn't clickable). This directly reverts b8f4e74cbc938d3448507d422c98061c2b71c922.
2022-10-27Rollup merge of #103616 - rust-lang:notriddle/moz-box-sizing, r=GuillaumeGomezMatthias Krüger-3/+1
rustdoc: remove CSS workaround for Firefox 29 CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/ This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/
2022-10-27Migrate line numbers CSS to CSS variablesGuillaume Gomez-0/+8
2022-10-27Rollup merge of #103592 - notriddle:notriddle/notable-traits-notable, ↵Matthias Krüger-1/+1
r=GuillaumeGomez rustdoc: remove redundant CSS selector `.notable-traits .notable` The margin was already being set to 0 only a few lines lower.
2022-10-26rustdoc: remove CSS workaround for Firefox 29Michael Howell-3/+1
CSS variables, which rustdoc now relies on, are only supported in Firefox 31 and later: https://www.mozilla.org/en-US/firefox/31.0/releasenotes/ This means it’s fine to also rely on unprefixed box-sizing, which is supported in Firefox 29 and later: https://www.mozilla.org/en-US/firefox/29.0/releasenotes/