49 lines
2.1 KiB
HTML
49 lines
2.1 KiB
HTML
@use super::{layout_html, return_home_html, statics::images_css};
|
|
@use crate::{Image, FileType};
|
|
|
|
@(image: Image, size: Option<u64>)
|
|
|
|
@:layout_html(&format!("Image: {}", image.filename()), Some("An image hosted on pict-rs"), {
|
|
<link rel="stylesheet" href="@crate::statics(&images_css.name)" type="text/css" />
|
|
@if let Some(size) = size {
|
|
<meta property="og:image" content="@image.thumb(size, FileType::Jpg)" />
|
|
<meta property="og:url" content="@image.view(Some(size))" />
|
|
<meta property="og:image:type" content="image/jpg" />
|
|
} else {
|
|
<meta property="og:image" content="@image.link()" />
|
|
<meta property="og:url" content="@image.view(None)" />
|
|
}
|
|
<meta property="og:image:alt" content="Image: @image.filename()" />
|
|
}, {
|
|
<section>
|
|
<article>
|
|
<div>
|
|
@if let Some(size) = size {
|
|
<picture>
|
|
<source type="image/webp" srcset="@image.thumb(size, FileType::Webp)" />
|
|
<img src="@image.thumb(size, FileType::Jpg)" alt="@image.filename()" title="@image.filename()" />
|
|
</picture>
|
|
<p><a href="@image.thumb(size, FileType::Jpg)">Direct Link</a></p>
|
|
} else {
|
|
@if image.is_video() {
|
|
<video
|
|
src="@image.link()"
|
|
alt="@image.filename()"
|
|
title="@image.filename()"
|
|
type="@image.mime()"
|
|
autoplay
|
|
muted
|
|
loop
|
|
>
|
|
</video>
|
|
<p><a href="@image.link()">Direct Link</a></p>
|
|
} else {
|
|
<img src="@image.link()" alt="@image.filename()" title="@image.filename()" />
|
|
<p><a href="@image.link()">Direct Link</a></p>
|
|
}
|
|
}
|
|
</div>
|
|
</article>
|
|
@:return_home_html()
|
|
</section>
|
|
})
|