misuzu/templates/news/macros.twig
2023-07-15 17:02:46 +00:00

95 lines
4.2 KiB
Twig

{% macro news_preview(post) %}
{% from 'macros.twig' import container_title, avatar %}
<div class="container news__preview" style="{% if post.user is not null %}--user-colour: {{ post.user.colour }}{% endif %}">
<div class="news__preview__info">
<div class="news__preview__info__background"></div>
<div class="news__preview__info__content">
{% if post.user.id is not null %}
<div class="news__preview__user">
<a class="news__preview__avatar" href="{{ url('user-profile', {'user': post.user.id}) }}">
{{ avatar(post.user.id, 60, post.user.username) }}
</a>
<div class="news__preview__user__details">
<a class="news__preview__username" href="{{ url('user-profile', {'user': post.user.id}) }}">{{ post.user.username }}</a>
</div>
</div>
{% endif %}
<a class="news__preview__category" href="{{ url('news-category', {'category': post.category.id}) }}">
{{ post.category.name }}
</a>
<div class="news__preview__date">
Posted
<time datetime="{{ post.post.createdTime|date('c') }}" title="{{ post.post.createdTime|date('r') }}">
{{ post.post.createdTime|time_diff }}
</time>
</div>
</div>
</div>
<div class="news__preview__content markdown">
<h1>{{ post.post.title }}</h1>
<div class="news__preview__text">
{{ post.post.firstParagraph|parse_text(2)|raw }}
</div>
<div class="news__preview__links">
<a href="{{ url('news-post', {'post': post.post.id}) }}" class="news__preview__link">Continue reading</a>
<a href="{{ url('news-post-comments', {'post': post.post.id}) }}" class="news__preview__link">
{{ post.comments_count < 1 ? 'No' : post.comments_count|number_format }} comment{{ post.comments_count != 1 ? 's' : '' }}
</a>
</div>
</div>
</div>
{% endmacro %}
{% macro news_post(post, category, user) %}
{% from 'macros.twig' import avatar %}
<div class="container news__post" style="{% if user is not null %}--accent-colour: {{ user.colour }}{% endif %}">
<div class="news__post__info">
<div class="news__post__info__background"></div>
<div class="news__post__info__content">
{% if user is not null %}
<div class="news__post__user">
<a class="news__post__avatar" href="{{ url('user-profile', {'user': user.id}) }}">
{{ avatar(user.id, 60, user.username) }}
</a>
<div class="news__post__user__details">
<a class="news__post__username" href="{{ url('user-profile', {'user': user.id}) }}">{{ user.username }}</a>
</div>
</div>
{% endif %}
<a class="news__post__category" href="{{ url('news-category', {'category': category.id}) }}">
{{ category.name }}
</a>
<div class="news__post__date">
Posted
<time datetime="{{ post.createdTime|date('c') }}" title="{{ post.createdTime|date('r') }}">
{{ post.createdTime|time_diff }}
</time>
</div>
{% if post.isEdited %}
<div class="news__post__date">
Updated
<time datetime="{{ post.updatedTime|date('c') }}" title="{{ post.updatedTime|date('r') }}">
{{ post.updatedTime|time_diff }}
</time>
</div>
{% endif %}
</div>
</div>
<div class="news__post__text markdown">
<h1>{{ post.title }}</h1>
{{ post.body|parse_text(2)|raw }}
</div>
</div>
{% endmacro %}