From 8e860b89e7490f0efe1171f0efc4f5db417a3be9 Mon Sep 17 00:00:00 2001 From: deadvey Date: Wed, 8 Jan 2025 23:42:01 +0000 Subject: [PATCH] quick links and
support --- src/main.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 049024d..836020c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -41,6 +41,12 @@ fn parse_markdown(page_content: String) -> (String, Vec) { result }).to_string(); + // html br tag support + let br_regex = Regex::new(r"(.*?)
(.*?)").unwrap(); + parsed_line = br_regex.replace_all(&parsed_line, |caps: ®ex::Captures| { + format!("{}{}{}", &caps[1], "\n", &caps[2]) + }).to_string(); + // Italics let italic_regex = Regex::new(r"\*(.*?)\*").unwrap(); parsed_line = italic_regex.replace_all(&parsed_line, |caps: ®ex::Captures| { @@ -68,7 +74,7 @@ fn parse_markdown(page_content: String) -> (String, Vec) { // Inline code let inline_code_regex = Regex::new(r"`(.*?)`").unwrap(); parsed_line = inline_code_regex.replace_all(&parsed_line, |caps: ®ex::Captures| { - format!("{}", &caps[1].red().on_white()) + format!("{}", &caps[1].magenta()) }).to_string(); // HyperLink @@ -89,6 +95,14 @@ fn parse_markdown(page_content: String) -> (String, Vec) { format!("({})[{}]", &caps[2].green(), hyperlink_number_counter) } }).to_string(); + + let quick_hyperlink_regex = Regex::new(r"<(.*?)>").unwrap(); + parsed_line = quick_hyperlink_regex.replace_all(&parsed_line, |caps: ®ex::Captures| { + hyperlink_number_counter += 1; + let url = caps[1].to_string(); + links.push(url); + format!("{}[{}]", &caps[1].blue().underline(), hyperlink_number_counter) + }).to_string(); parsed_page_content+=&(parsed_line + "\n"); @@ -108,7 +122,7 @@ fn parse_markdown(page_content: String) -> (String, Vec) { .join("\n"); // Return the formatted block with magenta color - format!("{}", indented_code.red().on_white()) + format!("{}", indented_code.magenta()) }).to_string(); return (parsed_page_content, links);