Пользовательский компаратор для сортировки массивов в Liquid или Jekyll - PullRequest
1 голос
/ 21 октября 2019

Я пытаюсь создать блог в Джекилле. Некоторые (не все) из моих постов имеют переменную updated_on во фронтальной части, которую я использую для хранения даты (YYYY-MM-DD HH:MM:SS +0530), когда она последний раз обновлялась.

Я хочу отображать посты в моем индексестраница в порядке убывания post.updated_on, если доступно, в противном случае используется post.date. Чтобы прояснить ситуацию, вот псевдокод того, что я хочу, чтобы мой компаратор сортировки работал как

comp(post a, post b){
    if(a.updated_on) t1 = a.updated_on
    else t1 = a.date

    if(b.updated_on) t2 = b.updated_on
    else t1 = b.date

    return t1>t2
}

Как мне добиться такой сортировки в Liquid / Jekyll?

Один запасной вариант, о котором я думал, - это добавлять updated_on в каждое сообщение, даже если оно никогда не обновлялось с даты публикации. Тогда я мог бы сделать что-то вроде

{% assign sorted_posts = paginator.posts | sort: 'updated_on' | reverse %}
{% for post in sorted_posts %}
  ... some code here ...
{% endfor %}

Но я не хочу идти по этому пути, поскольку мне придется вручную добавлять updated_on к каждому сообщению, где его еще нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...