nanohtml2text

Lightweight html to text converter in Rust
git clone git://git.alexwennerberg.com/nanohtml2text
Log | Files | Refs | README | LICENSE

commit 05fc9a55c8a3294553515828da56c20402482503
parent 600ebbe445074f298a4b694c3496d1c8bd2172b9
Author: Ayrat Badykov <ayratin555@gmail.com>
Date:   Sat, 24 Sep 2022 15:43:54 +0300

do not add content if href == content

Diffstat:
Msrc/lib.rs | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/lib.rs b/src/lib.rs @@ -132,8 +132,12 @@ fn handle_tag(s: &str) -> (String, usize) { let link = match (content, href) { (Some(content_value), Some(href_value)) => { - let cleaned_content_value = html2text(content_value); - format!("{} ({})", cleaned_content_value, href_value) + if content_value == href_value { + href_value + } else { + let cleaned_content_value = html2text(content_value); + format!("{} ({})", cleaned_content_value, href_value) + } } (None, Some(href_value)) => href_value, (Some(content_value), None) => content_value.to_string(), @@ -240,6 +244,9 @@ mod tests { link: "click <a href=\"test\">here</a>" to "click here (test)", + link_href_equal_to_content: + "click <a href=\"test\">test</a>" + to "click test", links_ignore_attributes: "click <a class=\"x\" href=\"test\">here</a>" to "click here (test)",