burguillos.info/templates/page/index.html.ep

47 lines
1.4 KiB
Plaintext

% use DateTime::Format::ISO8601;
%
% use Mojo::DOM;
% use Mojo::Util;
%
% use BurguillosInfo::Posts;
%
% layout 'default', current_slug => $current_category->{slug};
% title $current_category->{title};
<div class="description">
<h2><%= $current_category->{title} %></h2>
<%== $current_category->{description} %>
<h3>Artículos</h3>
<div class="articles">
% my ($cached_posts_by_category) = BurguillosInfo::Posts->new->Retrieve;
% my $category_post = $cached_posts_by_category->{$current_category->{slug}};
% if (defined $category_post) {
% for my $post (@$category_post) {
<a href="/posts/<%=$post->{slug}%>">
<article><%
my $date_article = DateTime::Format::ISO8601->parse_datetime($post->{date});
$date_article->set_time_zone('Europe/Madrid');
%><p class="date"><%= ''.$date_article %></p><%
if (defined $post->{image}) {
%><img alt="Portada de <%=$post->{title}%>" src="<%=$post->{image}%>"/><%
}
%><h4><%=$post->{title}%></h4><%
my $xml = Mojo::DOM->new($post->{content});
my $text = $xml->all_text;
if (length($text) > 120) {
$text = substr($text, 0, 100).'...';
}
%><p><%=$text%></p><p class="author">Escrito por <%=$post->{author}%></p></article>
</a>
% }
% } else {
<p>Parece que aun no hay artículos.</p>
% }
</div>
<h3>Suscribete a esta categoría.</h3>
<a class="suscribe-category-rss" href="/<%=$current_category->{slug}%>.rss">
<img src="/img/rss.svg" alt="Icono de suscripción rss"/>
</a>
</div>