From a39a7ae5e6f4f26afd35b43ed8e8f8aee42f207f Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Fri, 8 Mar 2024 14:39:38 +0100 Subject: [PATCH] Fix markdown plugin rendering --- src/frontend/markdown.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/frontend/markdown.rs b/src/frontend/markdown.rs index 6689278..b3b760b 100644 --- a/src/frontend/markdown.rs +++ b/src/frontend/markdown.rs @@ -47,15 +47,16 @@ impl InlineRule for ArticleLinkScanner { } const SEPARATOR_LENGTH: usize = 2; - input.find("]]").and_then(|i| { + input.find("]]").and_then(|length| { let start = state.pos + SEPARATOR_LENGTH; + let i = start + length - SEPARATOR_LENGTH; let content = &state.src[start..i]; content.split_once('@').map(|(title, domain)| { let node = Node::new(ArticleLink { title: title.to_string(), domain: domain.to_string(), }); - (node, i + SEPARATOR_LENGTH) + (node, length + SEPARATOR_LENGTH) }) }) } @@ -64,9 +65,11 @@ impl InlineRule for ArticleLinkScanner { #[test] fn test_markdown_article_link() { let parser = markdown_parser(); - let rendered = parser.parse("[[Title@example.com]]").render(); + let rendered = parser + .parse("some text [[Title@example.com]] and more") + .render(); assert_eq!( - "

Title

\n", + "

some text Title and more

\n", rendered ); }