Auto merge of #38329 - ollie27:rustdoc_stab_em_div, r=steveklabnik

rustdoc: Fix invalid HTML in stability notices

`em` tags cannot contain `p` tags so use `div`s instead of `em`s as the Markdown will create `p` tags.
This commit is contained in:
bors 2016-12-27 21:10:31 +00:00
commit 314c28b729
3 changed files with 16 additions and 15 deletions

View File

@ -1662,8 +1662,13 @@ fn document_full(w: &mut fmt::Formatter, item: &clean::Item) -> fmt::Result {
} }
fn document_stability(w: &mut fmt::Formatter, cx: &Context, item: &clean::Item) -> fmt::Result { fn document_stability(w: &mut fmt::Formatter, cx: &Context, item: &clean::Item) -> fmt::Result {
for stability in short_stability(item, cx, true) { let stabilities = short_stability(item, cx, true);
write!(w, "<div class='stability'>{}</div>", stability)?; if !stabilities.is_empty() {
write!(w, "<div class='stability'>")?;
for stability in stabilities {
write!(w, "{}", stability)?;
}
write!(w, "</div>")?;
} }
Ok(()) Ok(())
} }
@ -1862,7 +1867,7 @@ fn short_stability(item: &clean::Item, cx: &Context, show_reason: bool) -> Vec<S
String::new() String::new()
}; };
let text = format!("Deprecated{}{}", since, Markdown(&deprecated_reason)); let text = format!("Deprecated{}{}", since, Markdown(&deprecated_reason));
stability.push(format!("<em class='stab deprecated'>{}</em>", text)) stability.push(format!("<div class='stab deprecated'>{}</div>", text))
}; };
if stab.level == stability::Unstable { if stab.level == stability::Unstable {
@ -1887,7 +1892,7 @@ fn short_stability(item: &clean::Item, cx: &Context, show_reason: bool) -> Vec<S
String::new() String::new()
}; };
let text = format!("Unstable{}{}", unstable_extra, Markdown(&unstable_reason)); let text = format!("Unstable{}{}", unstable_extra, Markdown(&unstable_reason));
stability.push(format!("<em class='stab unstable'>{}</em>", text)) stability.push(format!("<div class='stab unstable'>{}</div>", text))
}; };
} else if let Some(depr) = item.deprecation.as_ref() { } else if let Some(depr) = item.deprecation.as_ref() {
let note = if show_reason && !depr.note.is_empty() { let note = if show_reason && !depr.note.is_empty() {
@ -1902,7 +1907,7 @@ fn short_stability(item: &clean::Item, cx: &Context, show_reason: bool) -> Vec<S
}; };
let text = format!("Deprecated{}{}", since, Markdown(&note)); let text = format!("Deprecated{}{}", since, Markdown(&note));
stability.push(format!("<em class='stab deprecated'>{}</em>", text)) stability.push(format!("<div class='stab deprecated'>{}</div>", text))
} }
stability stability

View File

@ -523,20 +523,20 @@ body.blur > :not(#help) {
padding: 20px; padding: 20px;
} }
em.stab { .stab {
display: inline-block; display: table;
border-width: 1px; border-width: 1px;
border-style: solid; border-style: solid;
padding: 3px; padding: 3px;
margin-bottom: 5px; margin-bottom: 5px;
font-size: 90%; font-size: 90%;
font-style: normal;
} }
em.stab p { .stab p {
display: inline; display: inline;
} }
.module-item .stab { .module-item .stab {
display: inline;
border-width: 0; border-width: 0;
padding: 0; padding: 0;
margin: 0; margin: 0;

View File

@ -30,10 +30,6 @@ h2, h3:not(.impl):not(.method):not(.type):not(.tymethod), h4:not(.method):not(.t
background-color: white; background-color: white;
} }
div.stability > em > code {
background-color: initial;
}
.docblock code, .docblock-short code { .docblock code, .docblock-short code {
background-color: #F5F5F5; background-color: #F5F5F5;
} }
@ -129,5 +125,5 @@ a.test-arrow {
background-color: white; background-color: white;
} }
em.stab.unstable { background: #FFF5D6; border-color: #FFC600; } .stab.unstable { background: #FFF5D6; border-color: #FFC600; }
em.stab.deprecated { background: #F3DFFF; border-color: #7F0087; } .stab.deprecated { background: #F3DFFF; border-color: #7F0087; }