Я пытаюсь отфильтровать посты по указанным c датам в Джекилле. Например, я хочу подать все сообщения сегодня, за последние 30 дней и все до этого.
Однако я сталкиваюсь с несколькими проблемами:
- Как можно Я получаю текущую дату, начиная с 00:01 AM
- Как использовать
where_exp
для фильтрации по этой дате
В настоящее время я пытался сделать что-то подобное, но это преобразует дату в строку и не может использоваться в where_exp
:
{% capture thirty_days_ago %}{{'now' | date: '%s' | minus: 2592000 }}{% endcapture %}
{% assign last_30_days_posts = site.posts | where_exp:"post", "post.posted_on > thirty_days_ago" %}
Liquid error (line 22): comparison of Time with String failed in index.html
Я мог бы сделать простой проверяйте при просмотре сообщений, но перед этим предпочли бы использовать фильтр.
{% capture thirty_days_ago %}{{'now' | date: '%s' | minus: 2592000 }}{% endcapture %}
{% for post in site.posts %}
{% capture post_date %}{{ post.posted_on | date: '%s' | plus: 0 }}{% endcapture %}
{% if job_date > thirty_days_ago %}
{% include components/job.html job=job %}
{% endif %}
{% endfor %}