41 lines
1,014 B
HTML
41 lines
1,014 B
HTML
@use crate::{Link, LinkKind};
|
|
|
|
@(link: &Link, body: Content)
|
|
|
|
@match link.kind {
|
|
LinkKind::NewTab => {
|
|
@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>
|
|
}
|
|
}
|
|
LinkKind::CurrentTab => {
|
|
@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>
|
|
}
|
|
}
|
|
}
|