在config.yml
我有:
...
showheader: "yes"
在我的default.html
模板中,我有条件显示标题包括:
<!DOCTYPE html>
<html>
{% include head.html %}
<body>
{% if site.showheader == "yes" %}{% include header.html %}{% endif %}
<main class="page-main">
{{ content }}
</main>
{% include footer.html %}
</body>
</html>
在我的post.html
模板中,我不想展示header.html
所以我试试这个:
---
layout: default
---
{{ site.showheader = "no" }}
<article class="post">
<header class="post-header">
<h1 class="post-h1" href="{{ post.url | prepend: site.baseurl }}">{{ page.title }}</h1>
<p class="post-meta">{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
</header>
<p class="post-p">{{ content }}</p>
<footer class="post-footer">
<p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
</footer>
</article>
但它很简单,不起作用,也没有返回错误。
Jekyll可以在_config.yml
模板布局中更改post.html
中变量集的值吗?
答案 0 :(得分:1)
您似乎无法重新分配site.variable
值。如果在{% assign site.showheader = false %}
中设置了showheader: true
,则_config.yml
无效。
如果你想根据你所在的页面显示标题,只需在页面前面设置变量。
在index.html中:
---
showheader: true
layout: default
---
在帖子中:
---
showheader: false
layout: default
---
在_layouts / default.html
中{% if page.showheader == true %}
header
{% endif %}