1

我正在尝试在 pelican 中设置我自己的主题,并面临一个问题,class="active"如果加载档案页面,如何获取该主题。这是我到目前为止所拥有的:

{% if DISPLAY_PAGES_ON_MENU -%}
<ul class="nav nav-pills nav-stacked">
  {% for pg in PAGES %}
    <li {% if pg == page %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ pg.url }}">{{ pg.title }} {{SITEURL}}</a></li>
  {% endfor %}
  <li {% if url == "/archives.html" %}class="active"{% endif %}><a href="{{ SITEURL }}/archives.html">Archives</a></li>
</ul>
{% endif %}

到目前为止,此代码段适用于 pg 循环。但是在访问archives.html 时,我无法弄清楚将谁设置为活动的类。有人知道如何做到这一点吗?

另外,由于我是 Jinja2 和 pelican 的新手,我还没有找到可以使用哪些变量的文档。

谢谢你的帮助。

4

1 回答 1

2

我过去使用的一般策略是page_name通过将其放在 base.html 模板中的某个位置打印出来:

{{page_name}}

然后,我使用基于page_name显示的 if 语句。

{% if page_name = "Archive" %} X {% endif %}

此外,这里有相当有用的文档:http ://docs.getpelican.com/en/3.5.0/themes.html#templates-and-variables

于 2015-04-27T03:19:16.817 回答