From e40b3d6a3875fced1e11d5cc952cd3081c5f2710 Mon Sep 17 00:00:00 2001 From: Michael Howell Date: Tue, 9 Mar 2021 17:48:14 -0700 Subject: [PATCH 1/2] Treat header as first paragraph for shortened markdown descriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "The Rust Standard LibraryThe Rust Standard Library is the …" is an awful description. --- src/librustdoc/html/markdown.rs | 1 + src/librustdoc/html/markdown/tests.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index ccc51c243ad..1505fe0369d 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -1093,6 +1093,7 @@ fn markdown_summary_with_limit(md: &str, length_limit: usize) -> (String, bool) Tag::Emphasis => s.push_str(""), Tag::Strong => s.push_str(""), Tag::Paragraph => break, + Tag::Heading(..) => break, _ => {} }, Event::HardBreak | Event::SoftBreak => { diff --git a/src/librustdoc/html/markdown/tests.rs b/src/librustdoc/html/markdown/tests.rs index e2ce9ad23f4..ac3ea4c8c5f 100644 --- a/src/librustdoc/html/markdown/tests.rs +++ b/src/librustdoc/html/markdown/tests.rs @@ -235,6 +235,7 @@ fn test_short_markdown_summary() { t("code `let x = i32;` ...", "code let x = i32; …"); t("type `Type<'static>` ...", "type Type<'static> …"); t("# top header", "top header"); + t("# top header\n\nfollowed by a paragraph", "top header"); t("## header", "header"); t("first paragraph\n\nsecond paragraph", "first paragraph"); t("```\nfn main() {}\n```", ""); From 66b65043dfd2662c42e9d92d751b55e7b9bbff10 Mon Sep 17 00:00:00 2001 From: Michael Howell Date: Tue, 9 Mar 2021 19:16:32 -0700 Subject: [PATCH 2/2] Simplify some of the rendering code in the index It's kinda silly using serde seq for fixed-length stuff. --- src/librustdoc/html/render/mod.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs index 2331f4d20a8..a4621fb8ed5 100644 --- a/src/librustdoc/html/render/mod.rs +++ b/src/librustdoc/html/render/mod.rs @@ -286,11 +286,7 @@ impl Serialize for TypeWithKind { where S: Serializer, { - let mut seq = serializer.serialize_seq(None)?; - seq.serialize_element(&self.ty.name)?; - let x: ItemType = self.kind.into(); - seq.serialize_element(&x)?; - seq.end() + (&self.ty.name, ItemType::from(self.kind)).serialize(serializer) } }