2015-07-18 3 views
2

Я хотел бы отобразить случайное выбранное сообщение на первой странице моего сайта 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 %} 

Благодаря

ответ

7

Джекил генерирует статические файлы. Вы можете выбрать случайную запись, которая будет вставлена ​​на вашу домашнюю страницу, но эта страница будет статической, а случайная запись будет изменяться только при создании сайта.

{% 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.
Смежные вопросы