2020-12-16 02:40:41 +00:00
|
|
|
@use crate::{Link, LinkKind};
|
|
|
|
|
|
|
|
@(link: &Link, body: Content)
|
|
|
|
|
|
|
|
@match link.kind {
|
|
|
|
LinkKind::NewTab => {
|
2021-01-11 03:59:11 +00:00
|
|
|
@if let Some(title) = &link.title {
|
|
|
|
<a
|
|
|
|
href="@link.href"
|
|
|
|
class="@link.class_string()"
|
|
|
|
rel="noopener noreferer"
|
|
|
|
title="@title"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
@:body()
|
|
|
|
</a>
|
|
|
|
} else {
|
|
|
|
<a
|
|
|
|
href="@link.href"
|
|
|
|
class="@link.class_string()"
|
|
|
|
rel="noopener noreferer"
|
|
|
|
target="_blank"
|
|
|
|
>
|
|
|
|
@:body()
|
|
|
|
</a>
|
|
|
|
}
|
2020-12-16 02:40:41 +00:00
|
|
|
}
|
|
|
|
LinkKind::CurrentTab => {
|
2021-01-11 03:59:11 +00:00
|
|
|
@if let Some(title) = &link.title {
|
|
|
|
<a
|
|
|
|
href="@link.href"
|
|
|
|
class="@link.class_string()"
|
|
|
|
title="@title"
|
|
|
|
>
|
|
|
|
@:body()
|
|
|
|
</a>
|
|
|
|
} else {
|
|
|
|
<a href="@link.href" class="@link.class_string()">@:body()</a>
|
|
|
|
}
|
2020-12-16 02:40:41 +00:00
|
|
|
}
|
|
|
|
}
|