pict-rs-proxy/templates/view.rs.html

50 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>
})