eff2698664
* Slightly improve the media experience - Use a grid to display the list of media - Add icons for non-image media preview - Paginate the gallery - Add links to the gallery in the editor and in the profile settings to make it more discoverable when you need it Fixes #432 * Allow video and audio tags in SafeString Otherwise we can't display their preview, nor show them in articles Also show controls by default for these two elements * Show fallback images for audio and unknown files, to make them more visible * Add a new constructor to SafeString when the input is trusted and doesn't need to be escaped. And use it to generate media previews. * Make it possible to insert video/audio in articles
35 lines
1.3 KiB
HTML
35 lines
1.3 KiB
HTML
@use plume_models::posts::Post;
|
|
@use template_utils::*;
|
|
@use routes::*;
|
|
|
|
@(ctx: BaseContext, article: Post)
|
|
|
|
<div class="card h-entry">
|
|
@if article.cover_id.is_some() {
|
|
<div class="cover" style="background-image: url('@Html(article.cover_url(ctx.0).unwrap_or_default())')"></div>
|
|
}
|
|
<h3 class="p-name">
|
|
<a class="u-url" href="@uri!(posts::details: blog = article.get_blog(ctx.0).unwrap().get_fqn(ctx.0), slug = &article.slug, responding_to = _)">
|
|
@article.title
|
|
</a>
|
|
</h3>
|
|
<main>
|
|
<p class="p-summary">@article.subtitle</p>
|
|
</main>
|
|
<footer class="authors">
|
|
@Html(i18n!(ctx.1, "By {0}"; format!(
|
|
"<a class=\"p-author h-card\" href=\"{}\">{}</a>",
|
|
uri!(user::details: name = article.get_authors(ctx.0).unwrap_or_default()[0].get_fqn(ctx.0)),
|
|
escape(&article.get_authors(ctx.0).unwrap_or_default()[0].name(ctx.0))
|
|
)))
|
|
@if article.published {
|
|
⋅ <span class="dt-published" datetime="@article.creation_date.format("%F %T")">@article.creation_date.format("%B %e, %Y")</span>
|
|
}
|
|
⋅ <a href="@uri!(blogs::details: name = article.get_blog(ctx.0).unwrap().get_fqn(ctx.0), page = _)">@article.get_blog(ctx.0).unwrap().title</a>
|
|
@if !article.published {
|
|
⋅ @i18n!(ctx.1, "Draft")
|
|
}
|
|
</footer>
|
|
</div>
|
|
|