diff options
| author | kennytm <kennytm@gmail.com> | 2018-10-28 16:38:46 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-28 16:38:46 +0800 |
| commit | 883b8199ca7c711b1789c0ffc4a82fadf303ed13 (patch) | |
| tree | 57ed530633058c744529ad1061cdfbf074d923b9 | |
| parent | b9763de9b544ef5d01928eafdf5194850e94f340 (diff) | |
| parent | 2fd378b82b14f2746462018e8510e15a079818a0 (diff) | |
| download | rust-883b8199ca7c711b1789c0ffc4a82fadf303ed13.tar.gz rust-883b8199ca7c711b1789c0ffc4a82fadf303ed13.zip | |
Rollup merge of #55191 - GuillaumeGomez:fix-sub-variant, r=QuietMisdreavus
Fix sub-variant doc display Fixes #54758. <img width="1440" alt="screen shot 2018-10-19 at 01 34 11" src="https://user-images.githubusercontent.com/3050060/47189939-43481d00-d33f-11e8-868f-cf479fc79e62.png"> r? @QuietMisdreavus
| -rw-r--r-- | src/librustdoc/html/render.rs | 17 | ||||
| -rw-r--r-- | src/librustdoc/html/static/main.js | 17 | ||||
| -rw-r--r-- | src/librustdoc/html/static/rustdoc.css | 22 |
3 files changed, 39 insertions, 17 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index 8b35ede4a02..0fc2473725a 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -3379,10 +3379,10 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item, let variant_id = cx.derive_id(format!("{}.{}.fields", ItemType::Variant, variant.name.as_ref().unwrap())); - write!(w, "<span class='docblock autohide sub-variant' id='{id}'>", + write!(w, "<span class='autohide sub-variant' id='{id}'>", id = variant_id)?; - write!(w, "<h3 class='fields'>Fields of <code>{name}</code></h3>\n - <table>", name = variant.name.as_ref().unwrap())?; + write!(w, "<h3>Fields of <b>{name}</b></h3><div>", + name = variant.name.as_ref().unwrap())?; for field in &s.fields { use clean::StructFieldItem; if let StructFieldItem(ref ty) = field.inner { @@ -3394,19 +3394,18 @@ fn item_enum(w: &mut fmt::Formatter, cx: &Context, it: &clean::Item, ItemType::Variant.name_space(), field.name.as_ref().unwrap(), ItemType::StructField.name_space())); - write!(w, "<tr><td \ - id='{id}'>\ - <span id='{ns_id}' class='invisible'>\ - <code>{f}: {t}</code></span></td><td>", + write!(w, "<span id=\"{id}\" class=\"variant small-section-header\">\ + <a href=\"#{id}\" class=\"anchor field\"></a>\ + <span id='{ns_id}' class='invisible'><code>{f}: {t}\ + </code></span></span>", id = id, ns_id = ns_id, f = field.name.as_ref().unwrap(), t = *ty)?; document(w, cx, field)?; - write!(w, "</td></tr>")?; } } - write!(w, "</table></span>")?; + write!(w, "</div></span>")?; } render_stability_since(w, variant, it)?; } diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 9d1a5c38378..02229b82b8a 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1886,7 +1886,7 @@ if (hasClass(relatedDoc, "stability")) { relatedDoc = relatedDoc.nextElementSibling; } - if (hasClass(relatedDoc, "docblock")) { + if (hasClass(relatedDoc, "docblock") || hasClass(relatedDoc, "sub-variant")) { var action = mode; if (action === "toggle") { if (hasClass(relatedDoc, "hidden-by-usual-hider")) { @@ -2094,15 +2094,13 @@ } var hideItemDeclarations = getCurrentValue('rustdoc-item-declarations') === "false"; - onEach(document.getElementsByClassName('docblock'), function(e) { + function buildToggleWrapper(e) { if (hasClass(e, 'autohide')) { var wrap = e.previousElementSibling; if (wrap && hasClass(wrap, 'toggle-wrapper')) { var toggle = wrap.childNodes[0]; - var extra = false; - if (e.childNodes[0].tagName === 'H3') { - extra = true; - } + var extra = e.childNodes[0].tagName === 'H3'; + e.style.display = 'none'; addClass(wrap, 'collapsed'); onEach(toggle.getElementsByClassName('inner'), function(e) { @@ -2127,6 +2125,8 @@ if (hideItemDeclarations === false) { extraClass = 'collapsed'; } + } else if (hasClass(e, "sub-variant")) { + otherMessage = ' Show fields'; } else if (hasClass(e, "non-exhaustive")) { otherMessage = ' This '; if (hasClass(e, "non-exhaustive-struct")) { @@ -2150,7 +2150,10 @@ collapseDocs(e.previousSibling.childNodes[0], "toggle"); } } - }); + } + + onEach(document.getElementsByClassName('docblock'), buildToggleWrapper); + onEach(document.getElementsByClassName('sub-variant'), buildToggleWrapper); function createToggleWrapper(tog) { var span = document.createElement('span'); diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index c0951d9f840..8bcb828a5ad 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -517,6 +517,10 @@ h4 > code, h3 > code, .invisible > code { margin-top: -13px; } +.sub-variant > div > .stability { + margin-top: initial; +} + .content .stability::before { content: '˪'; font-size: 30px; @@ -866,7 +870,23 @@ span.since { } .sub-variant, .sub-variant > h3 { - margin-top: 0 !important; + margin-top: 1px !important; +} + +#main > .sub-variant > h3 { + font-size: 15px; + margin-left: 25px; + margin-bottom: 5px; +} + +.sub-variant > div { + margin-left: 20px; + margin-bottom: 10px; +} + +.sub-variant > div > span { + display: block; + position: relative; } .toggle-label { |
