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

时间:2015-07-18 11:41:58

标签: jekyll

我想在我的Jekyll网站的首页上显示随机选择的帖子。

您是否知道如何在每次加载页面时循环并选择随机发布

这是我目前的索引。

---
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 %}

谢谢

1 个答案:

答案 0 :(得分:10)

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

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

由于液体没有随机标签,您可以根据时间模仿随机性。 见https://stackoverflow.com/a/28323813/1548376

在每次重新加载时加载不同帖子的唯一方法是使用javascript。在这里它将变得复杂。

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