Guillaume Gomez
30f56df6f9
Add regression test for #139282
2025-04-07 17:28:46 +02:00
León Orell Valerian Liehr
8462d56fc1
Rollup merge of #137539 - GuillaumeGomez:copy-content-tests, r=notriddle
...
Add rustdoc-gui regression test for #137082
Fixes https://github.com/rust-lang/rust/issues/137082 .
Added new commands in `browser-ui-test` allowing us to add a regression test for #137082 and also another to copy code examples content.
r? `@notriddle`
2025-02-25 13:07:34 +01:00
Guillaume Gomez
592028a2fc
Add rustdoc-gui regression test for #137082
2025-02-24 14:27:33 +01:00
Jacob Pratt
8133652562
Rollup merge of #136991 - GuillaumeGomez:code-wrapping, r=notriddle
...
[rustdoc] Add new setting to wrap source code lines when too long
Fixes https://github.com/rust-lang/rust/issues/127334 .
Wrapped lines look like this:

It works in both source code pages and doc pages.
You can test it [here](https://rustdoc.crud.net/imperio/code-wrapping/bar/index.html ).
r? ``@notriddle``
2025-02-24 02:11:32 -05:00
Guillaume Gomez
a1471f3aa6
Rename feature into Word wrap source code
2025-02-22 15:44:14 +01:00
yukang
a467ecacd4
Add custom sort for link in rustdoc
2025-02-19 08:35:51 +08:00
Guillaume Gomez
38b5bfce24
Add GUI test for code wrapping
2025-02-14 11:41:28 +01:00
Guillaume Gomez
10d666f3d6
Update rustdoc-gui test
2025-02-14 11:41:28 +01:00
Michael Howell
2c4922cf29
rustdoc: use better, consistent SVG icons for scraped examples
...
This continues two ongoing projects:
- Replacing ascii art with real icons that don't look like
syntax, are understandable to people who're familiar with
desktop computers and smart devices, and aren't ugly.
- Using labels and tooltips to clarify these icons, when the
limits of popular iconography hit us. In this case, I've added
tooltips, because, unfortunately, there's not room for
always-visible labels.
2025-02-12 16:07:11 -07:00
Guillaume Gomez
673fd23dff
Update rustdoc tests
2025-02-11 14:29:58 +01:00
Guillaume Gomez
65fedebfc4
Add GUI test for new "sans serif fonts" setting
2025-01-29 11:01:14 +01:00
Guillaume Gomez
caacb04830
Add GUI regression test for indent of trait items on mobile
2025-01-24 15:36:52 +01:00
Guillaume Gomez
b3865d1832
Remove more CSS classes
2025-01-18 20:29:55 +01:00
Guillaume Gomez
3c62ccdff5
Update rustdoc tests
2025-01-17 22:36:49 +01:00
binarycat
9397d133f6
Treat other items as functions for the purpose of type-based search
...
constants and statics are nullary functions, and struct fields are unary functions.
functions (along with methods and trait methods) are prioritized over other
items, like fields and constants.
2025-01-16 11:52:00 -06:00
Guillaume Gomez
0128c910f4
Add GUI test for #135499
2025-01-15 16:31:20 +01:00
Guillaume Gomez
00bf8717e3
Add GUI test for item info elements color
2024-12-28 20:54:00 +01:00
Nicholas Nethercote
121e87bf14
Remove rustc::existing_doc_keyword
lint.
...
`CheckAttrVisitor::check_doc_keyword` checks `#[doc(keyword = "..")]`
attributes to ensure they are on an empty module, and that the value is
a non-empty identifier.
The `rustc::existing_doc_keyword` lint checks these attributes to ensure
that the value is the name of a keyword.
It's silly to have two different checking mechanisms for these
attributes. This commit does the following.
- Changes `check_doc_keyword` to check that the value is the name of a
keyword (avoiding the need for the identifier check, which removes a
dependency on `rustc_lexer`).
- Removes the lint.
- Updates tests accordingly.
There is one hack: the `SelfTy` FIXME case used to used to be handled by
disabling the lint, but now is handled with a special case in
`is_doc_keyword`. That hack will go away if/when the FIXME is fixed.
Co-Authored-By: Guillaume Gomez <guillaume1.gomez@gmail.com>
2024-12-17 13:56:10 +11:00
Guillaume Gomez
854ebe7522
Update GUI test after rebase
2024-12-05 22:50:21 +01:00
Guillaume Gomez
90feb9a645
Improve positioning of "..." in collapsed impl block
2024-12-05 22:50:21 +01:00
Guillaume Gomez
abcd094c51
Update GUI tests
2024-12-05 22:50:21 +01:00
Guillaume Gomez
5d26accecd
Add GUI test for impl block doc display
2024-12-05 22:50:21 +01:00
Guillaume Gomez
bf6fcc9db8
Align impl doc block with impl
keyword
2024-11-13 15:13:31 +01:00
Guillaume Gomez
4f20626cef
Update GUI tests for documentation indent changes
2024-11-12 17:58:10 +01:00
Michael Howell
12dc24f460
rustdoc-search: simplify rules for generics and type params
...
This commit is a response to feedback on the displayed type
signatures results, by making generics act stricter.
Generics are tightened by making order significant. This means
`Vec<Allocator>` now matches only with a true vector of allocators,
instead of matching the second type param. It also makes unboxing
within generics stricter, so `Result<A, B>` only matches if `B`
is in the error type and `A` is in the success type. The top level
of the function search is unaffected.
Find the discussion on:
* <https://rust-lang.zulipchat.com/#narrow/stream/393423-t-rustdoc.2Fmeetings/topic/meeting.202024-07-08/near/449965149 >
* <https://github.com/rust-lang/rust/pull/124544#issuecomment-2204272265 >
* <https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/deciding.20on.20semantics.20of.20generics.20in.20rustdoc.20search/near/476841363 >
2024-10-30 12:27:48 -07:00
Michael Howell
20a4b4fea1
rustdoc-search: show types signatures in results
2024-10-30 10:35:39 -07:00
Michael Howell
5c7e7dfe10
rustdoc-search: pass original names through AST
2024-10-30 10:35:38 -07:00
Guillaume Gomez
26b6ccdbd7
Add GUI regression test for variant structfields margins
2024-10-28 11:16:38 +01:00
Guillaume Gomez
c50bfda34f
Add GUI regression test for doc struct fields margins
2024-10-27 11:26:45 +01:00
Jubilee
b80593995d
Rollup merge of #132183 - GuillaumeGomez:code-in-docblock, r=notriddle
...
Fix code HTML items making big blocks if too long
Encountered this bug randomly where `code` item in docblocks would look like this:

With this fix it looks like this:

r? ``@notriddle``
2024-10-26 21:58:39 -07:00
Guillaume Gomez
88f4425dd2
Update GUI test
2024-10-26 20:40:59 +02:00
Guillaume Gomez
ae66380da0
Add GUI regression test for code in doc blocks
2024-10-26 15:45:17 +02:00
Michael Howell
a53655a023
rustdoc: adjust spacing and typography in header
2024-10-23 19:15:23 -04:00
Guillaume Gomez
5e6033ea8b
Strengthen some GUI tests
2024-10-09 21:23:20 +02:00
Guillaume Gomez
12d5f0aa2c
Add GUI regression test for methods left margin on mobile
2024-10-09 21:01:08 +02:00
Guillaume Gomez
16844e2485
Fix methods alignment on mobile
2024-10-09 21:01:08 +02:00
Jubilee
869b8eb7ee
Rollup merge of #131257 - GuillaumeGomez:fix-list-margins, r=notriddle
...
[rustdoc] Fix list margins
Fixes https://github.com/rust-lang/rust/issues/131106 .
Fixes #131223 .
Follow-up of #130933 .
This PR changes the display as follow: the margin between list items is reduced by half to ensure that they visually still seem part of the same list, while also being bigger than previously which improves display for list items with more than one paragragh. Paragraphs also get they bottom margin reduced to a little bit less than the list items bottom margin for two reasons:
1. The list items keep having the biggest bottom margin which makes it better for coherency.
2. The paragraphs are still visually separated but they don't "overcome" the list.
| before | after |
|-|-|
|  |  |
Can be tested [here](https://rustdoc.crud.net/imperio/fix-list-margins/doc/test_docs/long_list/index.html ).
r? ``@notriddle``
2024-10-04 14:11:38 -07:00
Guillaume Gomez
1c63ec9fa0
Add GUI regression test for #130622 and for #131223
2024-10-04 18:01:52 +02:00
Guillaume Gomez
32099dbc1e
Enable --no-sandbox
option by default for rustdoc GUI tests
2024-10-04 12:11:23 +02:00
bors
0d6e130196
Auto merge of #131002 - steffahn:rustdoc-long-names-fix, r=notriddle
...
In redesigned rustdoc toolbar: Adjust spacings and sizing to improve behavior with over-long names
Fixes #130993 .
Some additional adjustments also fix more issues I’ve noticed such as:
* on small screens, opening search made the 3 bottons move down very slightly (because the row with the crate picker got larger, enlarging the whole grid), this is fixed with a `min-height: 60px` on the toolbar
* with long names in the “breadcrumps” area, wrapping was very broken
* 
* fixed:
* 
* the left grid area has a minimal width (105px); like before, that leaves about enough space for crate names becoming as short as “all cra…”;
to save even more space, there’s support for a little bit of extra squeezing of the buttons
* 
* 
* 
I’m really not super good with HTML or CSS stuff at all; there seem to be many magical numbers already, I’ve just used `px` values until things look right, I hope that’s okay 🤷♂️
r? `@GuillaumeGomez`
cc `@notriddle`
2024-09-29 22:04:32 +00:00
Michael Howell
c27b54ac4a
rustdoc-gui: fix test cases
2024-09-29 10:02:06 -07:00
Guillaume Gomez
2f16ff7b37
Make use of wait-for*-false
commands
2024-09-28 18:04:00 +02:00
Michael Goulet
0a0ea28f26
Rollup merge of #129545 - notriddle:notriddle/toolbar-v2, r=GuillaumeGomez
...
rustdoc: redesign toolbar and disclosure widgets
Fixes #77899
Fixes #90310
## Preview
| before | after
| ------ | -----
|  | 
|  | 
|  | 
|  | 
|  | 
| N/A | 
|  | 
|  | 
https://notriddle.com/rustdoc-html-demo-12/toolbar-v2/std/index.html
## Description
This adds labels to the icons and moves them away from the search box.
These changes are made together, because they work together, but are based on several complaints:
* The [+/-] thing are a Reddit-ism. They don't look like buttons, but look like syntax <https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons >, <https://github.com/rust-lang/rust/issues/59851 > (some of these are laundry lists with more suggestions, but they all mention [+/-] looking wrong)
* The settings, help, and summary buttons are also too hard to recognize <https://lwn.net/Articles/987070/ >, <https://github.com/rust-lang/rust/issues/90310 >, <https://github.com/rust-lang/rust/issues/14475#issuecomment-274241997 >, <https://internals.rust-lang.org/t/improve-rustdoc-design/12758 > ("Not all functionality is self-explanatory, for example the [+] button in the top right corner, the theme picker or the settings button.")
The toggle-all and toggle-individual buttons both need done at once, since we want them to look like they go together. This changes them from both being [+/-] to both being arrows.
CC <https://github.com/rust-lang/rust/pull/113074#issuecomment-1677469680 > and ``@jsha`` regarding the use of triangles for disclosure, which is what everyone wanted, but was pending a good toggle-all button. This PR adds a toggle-all button that should work.
Settings and Help are also migrated, so that the whole group can benefit from being described using actual words.
The breadcrumbs also get redesigned, so that they use less space, by shrinking the parent module path parts. This is done at the same time as the toolbar redesign because it's, effectively, moving space from the toolbar to the breadcrumbs.
This is aimed at avoiding any line wrapping at desktop sizes.
## Prior art
This style of toolbar, with explicit labels on the buttons, used to be more popular. It's not very common in web browsers nowadays, and for truly universal icons like ⬅️ I can understand why, but words are great when icons fail.

2024-09-23 23:49:11 -04:00
Michael Howell
cc3ffe4c91
Tweak breadcrumbs list
2024-09-23 09:21:39 -07:00
Guillaume Gomez
f451a410e3
Add GUI regression test for non-rust code blocks line numbers
2024-09-22 00:18:44 +02:00
Guillaume Gomez
55058b6c74
Add GUI tests for line numbers padding
2024-09-20 16:02:32 +02:00
Guillaume Gomez
660210c4af
Add GUI test to check size of additional scraped examples
2024-09-20 16:02:32 +02:00
Michael Howell
df307d0085
rustdoc: tweak spacing in toolbar
2024-09-10 17:56:17 -07:00
Michael Howell
5b1b2e97e3
rustdoc: make the header show all three buttons
...
This tweaks it to use less space for the breadcrumbs.
2024-09-10 17:56:06 -07:00
Michael Howell
d05323c7b4
rustdoc: redesign toolbar and disclosure widgets
...
This adds labels to the icons and moves them away from the search box.
These changes are made together, because they work together, but are based on
several complaints:
* The [+/-] thing are a Reddit-ism. They don't look like buttons, but look
like syntax
<https://rust-lang.zulipchat.com/#narrow/stream/266220-t-rustdoc/topic/More.20visual.20difference.20for.20the.20.2B.2F-.20.20Icons >,
<https://github.com/rust-lang/rust/issues/59851 >
(some of these are laundry lists with more suggestions, but they all
mention [+/-] looking wrong)
* The settings, help, and summary buttons are also too hard to recognize
<https://lwn.net/Articles/987070/ >,
<https://github.com/rust-lang/rust/issues/90310 >,
<https://github.com/rust-lang/rust/issues/14475#issuecomment-274241997 >,
<https://internals.rust-lang.org/t/improve-rustdoc-design/12758 >
("Not all functionality is self-explanatory, for example the [+] button in
the top right corner, the theme picker or the settings button.")
The toggle-all and toggle-individual buttons both need done at once, since we
want them to look like they go together. This changes them from both being
[+/-] to both being arrows.
Settings and Help are also migrated, so that the whole group can benefit from
being described using actual words.
Additionally, the Help button is only shown on SERPs, not all the time.
This is done for two major reasons:
* Most of what's in there is search-related. The things that aren't are
keyboard commands, and the search box tells you about that anyway.
Pressing <kbd>?</kbd> will temporarily show the button and its popover.
* I'm trading it off by showing the help button, even on mobile.
It's useful since you can use the search engine suggestions there.
* The three buttons were causing line wrapping on too many desktop layouts.
2024-09-10 17:56:05 -07:00