如何使用Jekyll / Liquid创建主题菜单

时间:2015-09-04 13:25:36

标签: github jekyll github-pages

我正在尝试创建一个大纲,以模拟直接链接到帖子的菜单。 这种结构类似于主题的帮助手册或书籍章节的结构。

问题是如何做,我想在config.yml中创建结构,为每个主题定义标签和标题,并在有子主题时递归检查。我不认为这是最正确的方式,但我生成了这样的结构:

http://pastebin.com/k07yPmAq

当我走遍这个阵列时,打印标题和相应的帖子这些标签?

或者有更好的方法吗?

Obs。:这将在GitHub上,所以我不能使用插件。

1 个答案:

答案 0 :(得分:0)

如果您不能使用插件,我知道,实现此目的的唯一方法是遍历列表,每个级别一个循环。这是一个例子:

<ul class="topics">
{% for topic in site.topics %}
    <li>
        <a title="{{topic.title}}" href="/tags/{{topic.tag}}">{{topic.title}}</a>
        {% if topic.subtopics %}
        <ul class="subtopics">
            {% for subtopic in topic.subtopics %}
                <li>
                    <a title="{{subtopic.title}}" href="/tags/{{subtopic.tag}}">{{subtopic.title}}</a>
                   <!-- add another for if you have another level, and so on... -->
                </li>
            {% endfor %} 
        </ul>
        {% endif %}
    </li>
{% endfor %} 
<ul>

我不认为你应该害怕表现,因为你在这里编译一次&#34;慢&#34;,多次服务&#34;快速&#34;。

<强> P.S。 如果您不需要从配置文件生成菜单,您可以直接在文件内部的html中编写它,例如_includes/navigation.html然后使用{% include navigation.html %}从布局中包含它。