JBake Templates: выделить последнее сообщение
Я новичок в JBake. Я видел по умолчанию способ создания страницы индекса.
<#list posts as post>
<#if (post.status == "published")>
-- design your posts here
</#if>
</#list>
Это подтягивает все сообщения в порядке убывания.
Это выглядит великолепно, только с одной проблемой: я не уверен, как выделить мой последний пост.
Поэтому я хочу сделать что-то вроде
<#list posts as post>
<#if (post.status == "published")>
<#if (this is latest post)>
use highlighted style
</#if>
<#if (this is not a latest post)>
use normal style
</#if>
</#if>
</#list>
Как мне этого добиться?
1 ответ
Решение
Вот одно решение, которое работает для JBake v2.4.0:
<#list posts as post>
<#if (post.status == "published")>
<#if (post_index == 0)>
//apply highlight style
<#else>
//apply normal style
</#if>
</#if>
</#list>
Чтобы ускорить рендеринг страницы, вы можете просто использовать published_posts
переменная тоже:
<#list published_posts as post>
<#if (post.status == "published")>
<#if (post_index == 0)>
//apply highlight style
<#else>
//apply normal style
</#if>
</#if>
</#list>
Если вы обновите JBake для использования Freemarker v2.3.23, вы можете использовать post?is_first
вместо post_index == 0
,