142 lines
5.6 KiB
Twig
142 lines
5.6 KiB
Twig
{% extends 'partials/base.html.twig' %}
|
|
|
|
{% block content %}
|
|
|
|
{% block header %}
|
|
{% include 'partials/header.html.twig' %}
|
|
{% endblock %}
|
|
|
|
{% set collection = page.evaluate([{'@page.children': '/' ~ page.slug}]) %}
|
|
|
|
{% set display = uri.param('display')|default('blocks') %}
|
|
|
|
{% set start = uri.param('start')|default(0|date("d-m-Y")) %}
|
|
{% set end = uri.param('end')|default(9999999999|date("d-m-Y")) %}
|
|
{% set collection = collection.dateRange(start, end) %}
|
|
|
|
{% set orderBy = uri.param('sort-by')|default('date') %}
|
|
{% set orderDir = uri.param('sort-dir')|default('desc') %}
|
|
{% set collection = collection.order(orderBy, orderDir) %}
|
|
|
|
{% set limit = uri.param('limit')|default(10) %}
|
|
{% set currentPage = uri.param('page')|default(1) %}
|
|
|
|
{% set posts = collection %}
|
|
|
|
{% if uri.param('category') is defined and uri.param('category') is not empty %}
|
|
{% set category = [] %}
|
|
{% for item in uri.param('category')|split(',') %}
|
|
{% set category = category|merge([item|url_decode]) %}
|
|
{% endfor %}
|
|
{% set posts_category = [] %}
|
|
{% for post in posts %}
|
|
{% if post.taxonomy.category is iterable and in_array_any(post.taxonomy.category, category) %}
|
|
{% set posts_category = posts_category|merge([post]) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% set posts = posts_category %}
|
|
{% endif %}
|
|
|
|
{% if uri.param('color') is defined and uri.param('color') is not empty %}
|
|
{% set color = [] %}
|
|
{% for item in uri.param('color')|split(',') %}
|
|
{% set color = color|merge([item|url_decode]) %}
|
|
{% endfor %}
|
|
{% set posts_color = [] %}
|
|
{% for post in posts %}
|
|
{% if in_array_any([post.header.color], color) %}
|
|
{% set posts_color = posts_color|merge([post]) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% set posts = posts_color %}
|
|
{% endif %}
|
|
|
|
{% if uri.param('tag') is defined and uri.param('tag') is not empty %}
|
|
{% set tag = [] %}
|
|
{% for item in uri.param('tag')|split(',') %}
|
|
{% set tag = tag|merge([item|url_decode]) %}
|
|
{% endfor %}
|
|
{% set posts_tag = [] %}
|
|
{% for post in posts %}
|
|
{% if post.taxonomy.tag is iterable and in_array_any(post.taxonomy.tag, tag) %}
|
|
{% set posts_tag = posts_tag|merge([post]) %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% set posts = posts_tag %}
|
|
{% endif %}
|
|
|
|
{% if page.header.truncate is defined %}
|
|
{% set truncate = page.header.truncate %}
|
|
{% elseif config.themes['project-space'].truncate is defined %}
|
|
{% set truncate = config.themes['project-space'].truncate %}
|
|
{% else %}
|
|
{% set truncate = false %}
|
|
{% endif %}
|
|
|
|
<main id="content" class="content js-Pjax-child" role="main">
|
|
<div class="wrapper">
|
|
{% if posts|length > 0 %}
|
|
{% if currentPage == 1 %}
|
|
{% set pageOffset = 0 %}
|
|
{% else %}
|
|
{% set pageOffset = (currentPage - 1) * limit %}
|
|
{% endif %}
|
|
{% if display == 'blocks' %}
|
|
<section class="masonry">
|
|
{% for post in posts[pageOffset:limit] %}
|
|
{% include 'partials/article.html.twig' with {'truncate': truncate} %}
|
|
{% endfor %}
|
|
</section>
|
|
{% elseif display == 'list' %}
|
|
<section class="list">
|
|
{% for post in posts[pageOffset:limit] %}
|
|
{% include 'partials/article.html.twig' with {'truncate': truncate} %}
|
|
{% endfor %}
|
|
</section>
|
|
{% elseif display == 'category' %}
|
|
<section class="list">
|
|
{% for category in site.categories %}
|
|
{% set posts_category = [] %}
|
|
{% for post in posts[pageOffset:limit] if post.header.taxonomy.category == category %}
|
|
{% set posts_category = posts_category|merge([post]) %}
|
|
{% endfor %}
|
|
{% if posts_category|length > 0%}
|
|
<h2>
|
|
<a href="{{ page.url }}/category:{{ category }}">{{ category }}</a>
|
|
</h2>
|
|
{% for post in posts_category %}
|
|
{% include 'partials/article.html.twig' with {'truncate': truncate} %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</section>
|
|
{% elseif display == 'color' %}
|
|
<section class="list">
|
|
{% for color in config.theme.colors %}
|
|
{% set posts_color = [] %}
|
|
{% for post in posts[pageOffset:limit] if post.header.color == color.name %}
|
|
{% set posts_color = posts_color|merge([post]) %}
|
|
{% endfor %}
|
|
{% if posts_color|length > 0 %}
|
|
<h2>
|
|
<a href="{{ page.url }}/color:{{ color.name }}">{{ color.name }}</a>
|
|
</h2>
|
|
{% for post in posts_color %}
|
|
{% include 'partials/article.html.twig' with {'truncate': truncate} %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
</section>
|
|
{% endif %}
|
|
</section>
|
|
{% else %}
|
|
<section class="post-content inner">
|
|
<h1>{{ 'THEME_PROJECTSPACE.EMPTY.TITLE'|t }}</h1>
|
|
<p>{{ 'THEME_PROJECTSPACE.EMPTY.CONTENT'|t }}.</p>
|
|
</section>
|
|
{% endif %}
|
|
</div>
|
|
</main>
|
|
{% include 'partials/pagination.html.twig' with {'path': page.url, 'currentPage': currentPage, 'pageCount': (posts|length / limit)|round(0, 'ceil'), 'limit': limit} %}
|
|
|
|
{% endblock %} |