如何在nunjucks中为不同的页面添加更改类?

时间:2015-10-19 16:50:28

标签: javascript nunjucks

我将Mozilla Nunjucks模板系统用于具有多个页面的静态网站。出于某种目的,我想为每个不同的页面添加一个类body标记

关于我们页面&gt; <body class="about">

主页&gt; <body class="home">

如果body标记保留在每个页面内,我可以非常轻松地执行此操作,但我希望在我的模板中保留body标记,我将用于所有页面。

我想有条件地改变课程。

3 个答案:

答案 0 :(得分:5)

  1. 在页面上设置变量。在你的page.njk: {% set bodyClass = "pageClass" %}
  2. 在布局上调用bodyClass。 <body{% if bodyClass %} class="{{ bodyClass }}"{% endif %}>

答案 1 :(得分:2)

它不是完全动态的,但您可以在页面模板中设置变量,并使用条件中的变量来设置主体类。

<强> layout.nunjucks

{% if pgHome %}
  <body class="home">
{% elif pgAbout %}
  <body class="about">
{% else %}
  <body class="page">
{% endif %}

<强> home.nunjucks

{% extends "layout.nunjucks" %}
{% set pgHome = true %}


  Homepage Markup
  ... 

答案 2 :(得分:1)

试试这个:

布局: <body class="{%block bodyClass %}{% endblock %}">

页: {% block bodyClass %} about {% endblock %}