如何确定活跃的帖子类别?

时间:2016-04-23 14:20:30

标签: jekyll liquid

我有一个类别和帖子的下拉菜单。需要检查类别是否处于活动状态 - 打开的帖子要使用菜单类别的活动类。 帖子可以有新的类别,它们不是预定义的。

前面的事情是标准的:

---
layout: post
title:  "Some post title"
date:   2016-04-06 13:41:07 +0300
category: Events
---

为了在菜单中显示开放帖子的课程,我使用了一种常用技术

{% if page.url == post.url %}
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li>
{% else %}
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li>
{% endif %}

如何为存在公开帖子的下拉类别应用类?

以下是输出的嵌套帖子标题类别的完整代码,我目前有:

<ul class="nav navbar-nav">
Categories
<li class="dropdown active">
{% for category in site.categories %}
<li><a href="#" class="dropdown-toggle" data-toggle="dropdown" name="{{ category | first }}">{{ category | first }}</a>
<ul class="dropdown-menu">
{% for posts in category %}
{% for post in posts %}
{% if page.url == post.url %}
<li class="active"><a href="{{post.url | prepend: site.baseurl}}" class="active">{{post.title}}</a></li>
{% else %}
<li><a href="{{post.url | prepend: site.baseurl}}">{{post.title}}</a></li>
{% endif %}
{% endfor %}
{% endfor %}
</ul>
</li>
{% endfor %}
</li>
</ul>

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

<script>
    function animate(opts) {
        var start = new Date   
        var id = setInterval(function() {
            var timePassed = new Date - start
            var progress = timePassed / opts.duration
            if (progress > 1) progress = 1
                var delta = opts.delta(progress)
                opts.step(delta)
                if (progress == 1) {
                    clearInterval(id)
                }
            }, opts.delay || 10)  
    }

    function makeEaseInOut(delta) {  
        return function(progress) {
            if (progress < .5)
                return delta(2*progress) / 2
            else
                return (2 - delta(2*(1-progress))) / 2
        }
    }

    bounceEaseInOut = makeEaseInOut(bounce)
</script>