Хотя этот код работает:
{% capture nowunix %}{{'now' | date: '%s'}}{% endcapture %}
{% capture posttime %}{{post.date | date: '%s'}}{% endcapture %}
{% if posttime < nowunix %} ...show posts...
Выполняется только во время сборки. Если вы хотите, чтобы ваш веб-сайт действительно обновлялся автоматически, вы должны позволить javascript скрыть его.
Начните с этой жидкости:
{% for item in site.events %}
<div future-date="{{ item.date | date: '%Y%m%d' }}">...</div>
{% endfor %}
И добавьте этот JavaScript:
function getCompareDate() {
var d = new Date(),
month = '' + (d.getMonth() + 1),
day = '' + d.getDate(),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
return [year, month, day].join('');
}
$('[future-date]').each(function() {
if($(this).attr('future-date') < getCompareDate()) $(this).hide();
});
Решение было найдено здесь: http://jekyllcodex.org/without-plugin/future-dates/
ОБНОВЛЕНИЕ (2018-02-19):
CloudCannon теперь имеет запланированные сборки, в которых вы можете просто указать, как создавать свой проект один раз в день. Если вы используете CloudCannon, я рекомендую ответ пользователя [здесь] .