fix: link formatting eating an extra character

This commit is contained in:
Aravinth Manivannan 2022-01-05 11:17:08 +05:30
parent 6424c85b98
commit ebb5d5175b
Signed by: realaravinth
GPG key ID: AD9F0F08E855ED88

View file

@ -4,37 +4,38 @@
<.} else {.> <.} else {.>
<. let mut cur: usize = 0; .> <. let mut cur: usize = 0; .>
<. for markup in &p.markups {.> <. for markup in &p.markups {.>
<. if markup.start != 0 {.> <. if markup.start != 0 {.>
<.= &p.text.substring(cur, (markup.start -1) as usize) .> <.= &p.text.substring(cur, (markup.start -1) as usize) .>
<.}.>
<. cur = (markup.end + 1) as usize; .>
<. let text = &p.text.slice(markup.start as usize..markup.end as usize); .>
<. if markup.type_ == "A" {.>
<. if let Some(anchor_type) = &markup.anchor_type {.>
<. if anchor_type == "LINK" {.>
<a rel="noreferrer" href="<.= markup.href.as_ref().unwrap() .>"><.= text .></a>
<.} else if anchor_type == "USER" {.>
<a
rel="noreferrer"
href="https://medium.com/u/<.= markup.user_id.as_ref().unwrap() .>"
>
<.= text .>
</a>
<.} else {.>
<. log::error!("unknown markup.anchor_type: {:?} post id {}", anchor_type, id); .>
<span><.= text .></span>
<.}.>
<.}.>
<.} else if markup.type_ == "EM" {.>
<em><.= text .></em>
<.} else if markup.type_ == "STRONG" {.>
<strong><.= text .></strong>
<.} else if markup.type_ == "CODE" {.>
<code><.= text .></code>
<.} else {.>
<. log::error!("unknown markup.type_: {:?} post id {}", markup.type_, id); .>
<span><.= text .></span>
<.}.> <.}.>
<. cur = (markup.end) as usize; .>
<. let text = &p.text.slice(markup.start as usize..markup.end as usize); .>
<. if markup.type_ == "A" {.>
<. if let Some(anchor_type) = &markup.anchor_type {.>
<. if anchor_type == "LINK" {.>
<a rel="noreferrer" href="<.= markup.href.as_ref().unwrap() .>"><.= text .></a>
<.} else if anchor_type == "USER" {.>
<a
rel="noreferrer"
href="https://medium.com/u/<.= markup.user_id.as_ref().unwrap() .>"
>
<.= text .>
</a>
<.} else {.>
<. log::error!("unknown markup.anchor_type: {:?} post id {}", anchor_type, id); .>
<span><.= text .></span>
<.}.>
<.}.>
<.} else if markup.type_ == "EM" {.>
<em><.= text .></em>
<.} else if markup.type_ == "STRONG" {.>
<strong><.= text .></strong>
<.} else if markup.type_ == "CODE" {.>
<code><.= text .></code>
<.} else {.>
<. log::error!("unknown markup.type_: {:?} post id {}", markup.type_, id); .>
<span><.= text .></span>
<.}.>
<.}.> <.}.>
<. if cur < p.text.len() {.> <. if cur < p.text.len() {.>
<.= p.text.slice(cur..) .> <.= p.text.slice(cur..) .>