@use plume_models::blogs::Blog; @use plume_models::posts::Post; @use plume_models::users::User; @use templates::{base, partials::post_card}; @use template_utils::*; @(ctx: BaseContext, blog: Blog, fqn: String, authors: &Vec<User>, total_articles: usize, page: i32, n_pages: i32, is_author: bool, posts: Vec<Post>) @:base(ctx, blog.title.as_ref(), {}, { <a href="/~/@fqn">@blog.title</a> }, { <h1>@blog.title <small>~@fqn</small></h1> <p>@blog.summary</p> <p> @i18n!(ctx.1, "One author in this blog: ", "{0} authors in this blog: ", authors.len()) @for author in authors { <a class="author" href="/@@/@author.get_fqn(ctx.0)">@author.name(ctx.0)</a> } </p> <p> @i18n!(ctx.1, "One article in this blog", "{0} articles in this blog", total_articles) </p> <section> <h2> @i18n!(ctx.1, "Latest articles") <small><a href="/~/@fqn/atom.xml" title="Atom feed">@icon!("rss")</a></small> </h2> @if posts.len() < 1 { <p>@i18n!(ctx.1, "No posts to see here yet.")</p> } @if is_author { <a href="/~/@fqn/new/" class="button inline-block">@i18n!(ctx.1, "New article")</a> } <div class="cards"> @for article in posts { @:post_card(ctx, article) } </div> @paginate(ctx.1, page, n_pages) </section> @if is_author { <h2>@i18n!(ctx.1, "Danger zone")</h2> <p>@i18n!(ctx.1, "Be very careful, any action taken here can't be cancelled.")</p> <form method="post" action="/~/@fqn/delete"> <input type="submit" class="inline-block button destructive" value="@i18n!(ctx.1, "Delete this blog")"> </form> } })