Случайные сообщения в Hexo

Я хотел показать 5 случайных сообщений на моей домашней странице с помощью Hexo, но, похоже, это не работает?! Я изменил 'date' на 'random', но это не сработало.

Код:

<ul>
  <% site.posts.sort('date', -1).limit(5).each(function(post){ %>
    <li>
      <a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
    </li>
  <% }) %>
</ul>

person user5898548    schedule 23.08.2016    source источник


Ответы (1)


shuffle или псевдоним random будет работать:

<ul>
  <% site.posts.random().limit(5).each(function(post){ %>
    <li>
      <a href="<%- url_for(post.path) %>"><%= post.title || '(no title)' %></a>
    </li>
  <% }) %>
</ul>

Как это работает:

Hexo использует Warehouse для своей базы данных. posts — это объект запроса. Поэтому, чтобы изменить сообщения в будущем, просто найдите правильный метод запроса к базе данных в API хранилища. Каждый метод Query возвращает измененную копию предыдущего Query, так что методы могут быть объединены в цепочку. Поэтому, если вы хотите изменить его снова, просто найдите другой метод и свяжите его. Надеюсь это поможет!

person Shawn Moore    schedule 23.08.2016
comment
Большое спасибо, Шон! :) это сработало прелесть! Я ломал голову над этим, но вижу, чего мне не хватало. Еще раз спасибо! - person user5898548; 24.08.2016
comment
@ user5898548 нет проблем, рад, что смог помочь :) - person Shawn Moore; 24.08.2016