misuzu/templates/news/macros.twig

98 lines
4.7 KiB
Twig
Raw Permalink Normal View History

{% macro news_preview(post, show_category) %}
2022-09-13 13:14:49 +00:00
{% from 'macros.twig' import container_title, avatar %}
<div class="container news__preview">
<div class="news__preview__header">
<div class="news__preview__title">
<h1>{{ post.post.title }}</h1>
</div>
<div class="news__preview__attrs">
<div class="news__preview__attr news__preview__created">
<div class="news__preview__created__prefix">Posted</div>
<div class="news__preview__created__time">
<time datetime="{{ post.post.createdTime|date('c') }}" title="{{ post.post.createdTime|date('r') }}">{{ post.post.createdTime|time_format }}</time>
</div>
</div>
{% if post.user is not null %}
<div class="news__preview__attr news__preview__author"{% if post.user_colour is defined %} style="--user-colour: {{ post.user_colour }}"{% endif %}>
<div class="news__preview__author__prefix">by</div>
<div class="news__preview__author__avatar">
<a href="{{ url('user-profile', {'user': post.user.id}) }}">{{ avatar(post.user.id, 20, post.user.name) }}</a>
</div>
<div class="news__preview__author__name">
<a href="{{ url('user-profile', {'user': post.user.id}) }}">{{ post.user.name }}</a>
</div>
</div>
{% endif %}
{% if show_category %}
<div class="news__preview__attr news__preview__category">
<div class="news__preview__category__prefix">in</div>
<div class="news__preview__category__name">
<a href="{{ url('news-category', {'category': post.category.id}) }}">{{ post.category.name }}</a>
2022-09-13 13:14:49 +00:00
</div>
</div>
{% endif %}
</div>
</div>
<div class="news__preview__content markdown">
<div class="news__preview__text">
2023-07-15 17:02:46 +00:00
{{ post.post.firstParagraph|parse_text(2)|raw }}
2022-09-13 13:14:49 +00:00
</div>
<div class="news__preview__links">
2023-07-15 17:02:46 +00:00
<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' : '' }}
2022-09-13 13:14:49 +00:00
</a>
</div>
</div>
</div>
{% endmacro %}
{% macro news_post(post, category, user, user_colour) %}
2022-09-13 13:14:49 +00:00
{% from 'macros.twig' import avatar %}
<div class="container news__post" style="{% if user_colour is not null %}--accent-colour: {{ user_colour }}{% endif %}">
2022-09-13 13:14:49 +00:00
<div class="news__post__info">
<div class="news__post__info__background"></div>
<div class="news__post__info__content">
2023-07-15 17:02:46 +00:00
{% if user is not null %}
2022-09-13 13:14:49 +00:00
<div class="news__post__user">
2023-07-15 17:02:46 +00:00
<a class="news__post__avatar" href="{{ url('user-profile', {'user': user.id}) }}">
{{ avatar(user.id, 60, user.name) }}
2022-09-13 13:14:49 +00:00
</a>
<div class="news__post__user__details">
<a class="news__post__username" href="{{ url('user-profile', {'user': user.id}) }}">{{ user.name }}</a>
2022-09-13 13:14:49 +00:00
</div>
</div>
{% endif %}
2023-07-15 17:02:46 +00:00
<a class="news__post__category" href="{{ url('news-category', {'category': category.id}) }}">
{{ category.name }}
2022-09-13 13:14:49 +00:00
</a>
<div class="news__post__date">
Posted
<time datetime="{{ post.createdTime|date('c') }}" title="{{ post.createdTime|date('r') }}">
2023-07-18 23:12:47 +00:00
{{ post.createdTime|time_format }}
2022-09-13 13:14:49 +00:00
</time>
</div>
{% if post.isEdited %}
<div class="news__post__date">
Updated
<time datetime="{{ post.updatedTime|date('c') }}" title="{{ post.updatedTime|date('r') }}">
2023-07-18 23:12:47 +00:00
{{ post.updatedTime|time_format }}
2022-09-13 13:14:49 +00:00
</time>
</div>
{% endif %}
</div>
</div>
<div class="news__post__text markdown">
<h1>{{ post.title }}</h1>
2023-07-15 17:02:46 +00:00
{{ post.body|parse_text(2)|raw }}
2022-09-13 13:14:49 +00:00
</div>
</div>
{% endmacro %}