JBake 模板:突出最新 post

JBake Templates: highlight latest post

我是 JBake 新手。我看到了创建索引页的默认方式。

<#list posts as post>
                <#if (post.status == "published")>
                                -- design your posts here
                </#if>
            </#list>

这会按降序提取所有 post。

这看起来很棒,只有一个问题,我不确定如何突出显示我的最新 post。

所以我想做类似的事情,

<#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>

我怎样才能做到这一点?

这是一种适用于 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