Commit graph

589 commits

Author SHA1 Message Date
Guillaume Gomez
2fd378b82b Fix sub-variant doc display 2018-10-27 14:05:34 +02:00
kennytm
4212896dca
Rollup merge of #54921 - GuillaumeGomez:line-numbers, r=QuietMisdreavus
Add line numbers option to rustdoc

Fixes #22878.

r? @QuietMisdreavus
2018-10-26 18:24:57 +08:00
Guillaume Gomez
dc5242592b improve search tabs look 2018-10-21 19:25:33 +02:00
Roy Wellington Ⅳ
cbe98ec803 Move usableLocalStorage() above functions that make use of it 2018-10-16 22:15:27 -07:00
Roy Wellington Ⅳ
8362aa2178 Extract localStorage tests out into a helper method; use in getCurrentValue()
1. Extract the tests for whether or not we have workable localStorage out into
   a helper method, so it can be more easily reused
2. Use it in getCurrentValue() too, for the same reasons, as suggested in code
   review
2018-10-15 20:39:16 -07:00
Roy Wellington Ⅳ
d4e2dcaff1 Detect if access to localStorage is forbidden by the user's browser
If the user's cookie/persistent storage setting forbid access to localStorage,
catch the exception and abort the access.

Currently, attempting to use the expand/contract links at the top of the page
for structs/consts/etc. fails due to an unhandled error while accessing
localStorage, if such access is forbidden, as the exception from the failed
access propagates all the way out, interrupting the expand/contract. Instead, I
would like to degrade gracefully; the access won't happen (the collapse/expand
state won't get persisted) but the actual expanding/contracting of the item
will go on to succeed.

Fixes #55079
2018-10-14 23:47:38 -07:00
Guillaume Gomez
c5a025aae6 Fix mobile doc display 2018-10-11 22:23:39 +02:00
Guillaume Gomez
e961d397ca Add line numbers option to rustdoc 2018-10-09 22:55:18 +02:00
Kazuyoshi Kato
2feea63b4b rustdoc: overflow:auto doesn't work nicely on small screens
This property was introduced by 3f92ff34b5, but looks it doesn't
overwrap even without the property.

Fixes #54672.
2018-10-04 21:31:16 -07:00
kennytm
def5f84fa6
Rollup merge of #54577 - QuietMisdreavus:docs-for-procs, r=GuillaumeGomez
rustdoc: give proc-macros their own pages

related to https://github.com/rust-lang/rust/issues/49553 but i don't think it'll fix it

Currently, rustdoc doesn't expose proc-macros all that well. In the source crate, only their definition function is exposed, but when re-exported, they're treated as a macro! This is an awkward situation in all accounts. This PR checks functions to see whether they have any of `#[proc_macro]`, `#[proc_macro_attribute]`, or `#[proc_macro_derive]`, and exposes them as macros instead. In addition, attributes and derives are exposed differently than other macros, getting their own item-type, CSS class, and module heading.

![image](https://user-images.githubusercontent.com/5217170/46044803-6df8da00-c0e1-11e8-8c3b-25d2c3beb55c.png)

Function-like proc-macros are lumped in with `macro_rules!` macros, but they get a different declaration block (i'm open to tweaking this, it's just what i thought of given how function-proc-macros operate):

![image](https://user-images.githubusercontent.com/5217170/46044828-84069a80-c0e1-11e8-9cc4-127e5477c395.png)

Proc-macro attributes and derives get their own pages, with a representative declaration block. Derive macros also show off their helper attributes:

![image](https://user-images.githubusercontent.com/5217170/46094583-ef9f4500-c17f-11e8-8f71-fa0a7895c9f6.png)

![image](https://user-images.githubusercontent.com/5217170/46101529-cab3cd80-c191-11e8-857a-946897750da1.png)

There's one wrinkle which this PR doesn't address, which is why i didn't mark this as fixing the linked issue. Currently, proc-macros don't expose their attributes or source span across crates, so while rustdoc knows they exist, that's about all the information it gets. This leads to an "inlined" macro that has absolutely no docs on it, and no `[src]` link to show you where it was declared.

The way i got around it was to keep proc-macro re-export disabled, since we do get enough information across crates to properly link to the source page:

![image](https://user-images.githubusercontent.com/5217170/46045074-2cb4fa00-c0e2-11e8-81bc-33a8205fbd03.png)

Until we can get a proc-macro's docs (and ideally also its source span) across crates, i believe this is the best way forward.
2018-09-29 16:46:30 +08:00
Pietro Albini
bd217b62f6
Rollup merge of #54539 - GuillaumeGomez:fix-js-error, r=QuietMisdreavus
Fix js error

r? @QuietMisdreavus
2018-09-25 22:34:48 +02:00
QuietMisdreavus
aea1bd0a59 handle proc-macros as macros instead of functions 2018-09-25 14:56:43 -05:00
Guillaume Gomez
827047c18b Fix JS error 2018-09-24 22:05:12 +02:00
Guillaume Gomez
2099b3c75c Reduce code block sides padding 2018-09-19 22:59:35 +02:00
bors
e7f1880921 Auto merge of #52962 - GuillaumeGomez:few-things, r=QuietMisdreavus
Fix trait item doc setting, add new setting, start hiding elements by default and then showing them up

r? @QuietMisdreavus
2018-09-14 01:07:21 +00:00
bors
f2302daef3 Auto merge of #53409 - GuillaumeGomez:associated-const-value, r=QuietMisdreavus
Don't show associated const value anymore

Part of #44348.

Before:

<img width="1440" alt="screen shot 2018-08-16 at 00 48 30" src="https://user-images.githubusercontent.com/3050060/44177414-20ef1480-a0ee-11e8-80d4-7caf082cf0de.png">

After:

<img width="1440" alt="screen shot 2018-08-16 at 00 48 23" src="https://user-images.githubusercontent.com/3050060/44177417-251b3200-a0ee-11e8-956a-4229275e3342.png">

cc @nox

r? @QuietMisdreavus
2018-09-12 21:20:05 +00:00
Guillaume Gomez
1b3382f2b9 Fix implementors generation as well 2018-09-06 23:32:30 +02:00
Guillaume Gomez
d65c8636d9 Fix hover on impls 2018-09-06 23:32:30 +02:00
Guillaume Gomez
e1ec05584c Apply method docs collapse to all impl-items sections 2018-09-05 23:25:28 +02:00
Pietro Albini
6b1fffae20
Rollup merge of #53806 - GuillaumeGomez:fix-ui-issues-foreign-type-impls, r=QuietMisdreavus
Fix UI issues on Implementations on Foreign types

Fixes #53800.

<img width="1440" alt="screen shot 2018-08-29 at 22 06 35" src="https://user-images.githubusercontent.com/3050060/44814733-e9986180-abdd-11e8-97e0-0e3c1816ca04.png">

r? @QuietMisdreavus
2018-08-30 20:15:48 +02:00
Guillaume Gomez
e08a84a0c1 Fix UI issues on Implementations on Foreign types 2018-08-29 22:48:37 +02:00
Guillaume Gomez
04b4c40682 Fix invalid display of unstable messages 2018-08-27 21:52:10 +02:00
Guillaume Gomez
1d79d8be56 Fix source automatic scroll 2018-08-27 21:51:56 +02:00
Guillaume Gomez
f9eef71986
Rollup merge of #53706 - ehuss:rustdoc-section-anchor, r=GuillaumeGomez
rustdoc: Fix gap on section anchor symbol when hovering.

Fixes #49485 for section headings.
2018-08-26 12:05:27 +02:00
Guillaume Gomez
9c20f06f73
Rollup merge of #53626 - kzys:hashchange, r=GuillaumeGomez
Automatically expand a section even after page load

Fixes #52774
2018-08-26 12:05:25 +02:00
Guillaume Gomez
49944aea3f
Rollup merge of #53043 - GuillaumeGomez:improve-unstable-msg-display, r=QuietMisdreavus
Improve unstable message display

Fixes #51387.
Reopening of #51563.

New display:

<img width="1440" alt="screen shot 2018-08-04 at 00 01 39" src="https://user-images.githubusercontent.com/3050060/43667793-dc14f708-9779-11e8-9808-f3ff126fc213.png">

r? @QuietMisdreavus
2018-08-26 12:05:21 +02:00
Eric Huss
1c888d51f9 rustdoc: Fix gap on section anchor symbol when hovering.
Fixes #49485 for section headings.
2018-08-25 14:15:49 -07:00
Guillaume Gomez
a00706a3b9 Add collapser for associated const 2018-08-25 15:30:47 +02:00
Guillaume Gomez
a54594430f Don't show associated const value anymore 2018-08-25 15:30:47 +02:00
Kazuyoshi Kato
2c61f3ce9e Expand a collapsed element on onclick
Doing the expansion on onhashchange seems too late.

Fixes #48726
2018-08-25 03:36:17 -07:00
bors
f87d9135b4 Auto merge of #53577 - GuillaumeGomez:rustdoc-substring-search, r=QuietMisdreavus
Search a substring instead of start of string in rustdoc search

Fixes #49762.

r? @QuietMisdreavus
2018-08-25 02:40:14 +00:00
Kazuyoshi Kato
1f441a0905 Check null-able variables before using them 2018-08-23 08:15:23 -07:00
Kazuyoshi Kato
917cdd295d Automatically expand a section even after page load
Fixes #52774
2018-08-23 00:45:43 -07:00
Guillaume Gomez
e87b4b3100 Search a substring instead of start of string in rustdoc search 2018-08-22 00:21:08 +02:00
Jack O'Connor
207550981f restore the page title after escaping out of a search 2018-08-15 23:05:52 -04:00
Guillaume Gomez
cf5ee8f59b Fix links' color 2018-08-15 15:07:07 +02:00
Guillaume Gomez
34956ac0f6
Rollup merge of #53267 - GuillaumeGomez:fix-styles, r=QuietMisdreavus
Fix styles

Fixes #53262.

r? @QuietMisdreavus
2018-08-12 23:27:02 +02:00
Guillaume Gomez
5a801c89d0 Fix styles 2018-08-11 13:34:15 +02:00
Guillaume Gomez
e37391b389 Remove unwanted console log 2018-08-10 18:48:36 +02:00
kennytm
dad5b6c554
Rollup merge of #53094 - GuillaumeGomez:automatic-expand, r=nrc
Automatically expand section if url id point to one of its component

Fixes #52517.

r? @nrc
2018-08-09 16:58:41 +08:00
Guillaume Gomez
c70eb4b6ea Automatically expand section if url id point to one of its component 2018-08-05 19:44:10 +02:00
Mike Boutin
3f92ff34b5 Change rustdoc style so fully qualified names do not overlap src links
A type's fully qualified name will now wrap once it gets to the
`[-][src]` link aligned against the right edge of the content area.
Previously the two would overlap and the name would only wrap when
hitting the edge of the content area. The `[-][src]` link will main at
the top of the header.
2018-08-05 10:43:04 -04:00
kennytm
b643351c08
Rollup merge of #53050 - carols10cents:rustdoc-moar-room, r=GuillaumeGomez
Make left column of rustdoc search results narrower

To make more room for the description of the item

The description often has useful text that helps disambiguate between search results, but very little of it is shown.

As a side effect, this breaks the alignment between the search results and the "In Return Types" tab, which tends to line up above the description-- up until I started investigating this, I thought "In Names"/"In Parameters"/"In Return Types" were column headers and I just never saw search results that had info for the "In Parameters" middle column! Now, with the two columns of search results each taking up about a half, they look more like tabs than column headers.

Types that are long still wrap and look good-- I made some artificially long types in the following screenshots.

Before screenshot:

<img width="1258" alt="screen shot 2018-08-03 at 8 32 35 pm" src="https://user-images.githubusercontent.com/193874/43670805-56e3b3b4-975e-11e8-9296-600837d03de2.png">

After screenshot:

<img width="1239" alt="screen shot 2018-08-03 at 8 31 17 pm" src="https://user-images.githubusercontent.com/193874/43670810-6591f9ac-975e-11e8-9e12-4ea9ab1e5806.png">
2018-08-04 17:20:10 +08:00
kennytm
aefa307c1f
Rollup merge of #53047 - integer32llc:rustdoc-clicky-clicky, r=QuietMisdreavus
Make entire row of doc search results clickable

By adding empty `after` content that clears and is `display: block`.
Technique found here: https://stackoverflow.com/a/7817313/51683

Now any part of a documentation search result that is highlighted when
you hover over it should also be clickable.

NOTE: THE BELOW IMAGES ARE GIFS BUT I DIDN'T MAKE THEM LOOP, OPEN IN A NEW TAB TO SEE THEM SORRY SORRY

Here's what happens before this change: my mouse cursor is in the middle of the table cell, and the row is highlighted which makes it look like clicking should have an effect, but clicking doesn't do anything:

![rustdoc-clicky-clicky-before](https://user-images.githubusercontent.com/193874/43668604-d1e63392-974b-11e8-99f5-e7e11c9056e8.gif)

After this change, clicking in the middle of the cell works!

![rustdoc-clicky-clicky-after](https://user-images.githubusercontent.com/193874/43668616-e522fa08-974b-11e8-8409-3826d586d1f7.gif)

It even works nicely when the type is really long and wraps! (I created the type artificially because I couldn't find a long enough one in the wild)

![rustdoc-clicky-clicky-after-long](https://user-images.githubusercontent.com/193874/43668639-f962a75c-974b-11e8-9218-70bf068387a3.gif)
2018-08-04 14:36:02 +08:00
Carol (Nichols || Goulding)
d5dd37b00f
Make left column of rustdoc search results narrower
To make more room for the description of the item
2018-08-03 20:39:58 -04:00
Carol (Nichols || Goulding)
11ffeed1ed
Make entire row of doc search results clickable
By adding empty `after` content that clears and is `display: block`.
Technique found here: https://stackoverflow.com/a/7817313/51683

Now any part of a documentation search result that is highlighted when
you hover over it should also be clickable.
2018-08-03 18:29:49 -04:00
Guillaume Gomez
110e7270ab Improve unstable message display 2018-08-04 00:02:46 +02:00
Guillaume Gomez
e2cda7dd82 Fix invalid code css rule 2018-08-03 23:30:16 +02:00
Guillaume Gomez
2462cdb71d Fix trait item doc setting, add new setting, start hiding elements by default and then showing them up 2018-08-02 00:19:04 +02:00
bors
11864c4e6c Auto merge of #51854 - davidtwco:rfc-2008-rustdoc, r=QuietMisdreavus
RFC 2008 non-exhaustive enums/structs: Rustdoc

Part of #44109. Not sure how those who maintain rustdoc primarily would prefer this addition look or where it should be placed, happy to make any changes required.

r? @QuietMisdreavus (not sure if this is the right person, just guessing)
2018-07-19 19:03:03 +00:00