Jekyll - 在索引中显示随机选择的 post

Jekyll - display a random chosen post in index

我想在我的 Jekyll 站点的首页显示一个随机选择的 post。

你知道我如何循环并在每次加载页面时选择 随机 post 吗?

这是我目前拥有的索引。

---
layout: default
title: Home
---
<h1 class="content-listing-header sans">Posts</h1>

<ul class="content">
{% for post in site.posts %}
  <li class="listing">
    <hr class="slender">
    <a href="{{ post.url }}"><h4 class="contrast">{{ post.title }}</h4></a>
    <span class="smaller">{{ post.date | date: "%B %-d, %Y" }}</span>  <br/>
    <div>{{ post.excerpt }}</div>

  </li>
{% endfor %}

谢谢

Jekyll 生成静态文件。您可以选择随机 post 插入您的主页,但此页面将是静态的,并且随机 post 只会在您的网站生成时更改。

{% assign random = site.time | date: "%s%N" | modulo: site.posts.size %}
<h1>{{ site.posts[random].title }}</h1>

由于液体没有随机标签,您可以模拟基于时间的随机性。 参见

每次重新加载时加载不同 post 的唯一方法是使用 javascript。而这里会变得复杂。

  • 您需要创建一个 posts 列表供 javascript 选择,
  • 您必须为每个 post 生成特定页面,其中只有 post 的 html。没有头,导航等。而这只能通过 Jekyll generator plugin.
  • 来完成