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().fqn, 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].fqn),
 | |
|             escape(&article.get_authors(ctx.0).unwrap_or_default()[0].name())
 | |
|         )))
 | |
|         @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().fqn, page = _)">@article.get_blog(ctx.0).unwrap().title</a>
 | |
|         @if !article.published {
 | |
|             ⋅ @i18n!(ctx.1, "Draft")
 | |
|         }
 | |
|     </footer>
 | |
| </div>
 | |
| 
 |