From c34e44909cd068a669d8a5fa4229426afb211e81 Mon Sep 17 00:00:00 2001 From: Daniel Scherzer Date: Wed, 5 Aug 2026 12:32:03 -0700 Subject: [PATCH] Optimize `SummaryParser::parse_link()` to remove unneeded replace Since the link will be checked to determine if it is empty anyway, only replace `%20` with spaces when not empty. --- crates/mdbook-summary/src/lib.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/mdbook-summary/src/lib.rs b/crates/mdbook-summary/src/lib.rs index 0a9402ab23..5f439a2011 100644 --- a/crates/mdbook-summary/src/lib.rs +++ b/crates/mdbook-summary/src/lib.rs @@ -379,14 +379,13 @@ impl<'a> SummaryParser<'a> { /// Finishes parsing a link once the `Event::Start(Tag::Link(..))` has been opened. fn parse_link(&mut self, href: String) -> Link { - let href = href.replace("%20", " "); let link_content = collect_events!(self.stream, end TagEnd::Link); let name = stringify_events(link_content); let path = if href.is_empty() { None } else { - Some(PathBuf::from(href)) + Some(PathBuf::from(href.replace("%20", " "))) }; Link {