鹈鹕模板中当前页面的URL的变量

时间:2016-12-02 02:39:49

标签: python jinja2 pelican

我是Pelican的新手。我正在构建我的网站,以便我有两个类别:博客和项目。我有3个菜单按钮:主页,博客和项目。我正在尝试编辑我的base.html模板文件,以便当我在blog/或其任何子目录中时,Blog按钮处于活动状态,如果我在{{1或其任何子目录。如果我在projects/中有一个可以访问的变量给了我当前页面的相对URL,我可以将它分割为base.html并获取路径中的第一个目录。我一直在搜索,我似乎无法找到当前页面的相对URL的变量。是否有内置变量或者我可以为我正在寻找的定制变量?

1 个答案:

答案 0 :(得分:7)

由于我也是鹈鹕的新手,请带上以下建议。

此变量将为您提供当前文件的名称,如documentation中所述:

{{ output_file }}

例如:为我的页面生成菜单项时,我可以检查" save_as"页面的属性,以突出显示完全相应的菜单项:

{% if output_file == p.save_as %}active{% endif %}

但在你的情况下它应该是例如足以检查它当前页面是一篇文章(假设"博客"包含所有文章)以突出显示博客菜单项。例如,通过检查变量" article"在场:

{% if article %}class="active"{% endif %}

如果您的项目是由"页面"组成的,只需检查这些内容类型的主要变量:

{% if page %}class="active"{% endif %}

对于主页,类别,档案等,可以检查" page_name"的内容:

{% if page_name == 'index' %}class="active"{% endif %}