Jekyll:在包含中使用 Front Matter
Jekyll: Using Front Matter in Includes
是否可以在 include 中使用 front matter。我有一个名为 image.html
的包含,看起来像这样。
image.html
{% if layout == 'page' %}
<img src="{{ site.url }}/public/img/{{ include.url }}" class="page">
{% else %}
<img src="{{ site.url }}/public/img/{{ include.url }}">
{% endif %}
还有一个 about.md
文件,如下所示:
about.md
---
layout: page
---
{% include image.html url="img.jpg" %}
但由于某种原因,它无法识别 if layout
语句。知道如何让它工作吗?
感谢任何帮助。提前致谢!
更新
完整问题如下:
如果页面中包含 image.html
include,则 include 需要具有完全不同的布局,具有两个封装元素(container
和 sm-col-12
)。希望下面的内容比我原来的问题更有意义。
image.html
{% if include.size == 'full' and include.type != 'gif' %}
<section class="image full-width">
<img src="{{ site.url }}/public/img/{{ include.name }}.{{ include.type }}">
</section>
{% elsif layout == 'page' and include.type != 'gif' %}
<div class="container">
<div class="sm-col-12">
<section class="image">
<img src="{{ site.url }}/public/img/{{ include.name }}.{{ include.type }}">
</section>
</div>
</div>
{% elsif include.type != 'gif' %}
...
{% else %}
...
{% endif %}
about.md
---
layout: page
---
{% include image.html name="zifferblatt" type="jpg" %}
从包含文件中,您仍然可以使用 page
变量。
在您的情况下,您可以致电 page.layout
:
<img src="{{ site.url }}/public/img/{{ include.url }}" {% if page.layout == 'page' %}class="page"{% endif %}>
是否可以在 include 中使用 front matter。我有一个名为 image.html
的包含,看起来像这样。
image.html
{% if layout == 'page' %}
<img src="{{ site.url }}/public/img/{{ include.url }}" class="page">
{% else %}
<img src="{{ site.url }}/public/img/{{ include.url }}">
{% endif %}
还有一个 about.md
文件,如下所示:
about.md
---
layout: page
---
{% include image.html url="img.jpg" %}
但由于某种原因,它无法识别 if layout
语句。知道如何让它工作吗?
感谢任何帮助。提前致谢!
更新
完整问题如下:
如果页面中包含 image.html
include,则 include 需要具有完全不同的布局,具有两个封装元素(container
和 sm-col-12
)。希望下面的内容比我原来的问题更有意义。
image.html
{% if include.size == 'full' and include.type != 'gif' %}
<section class="image full-width">
<img src="{{ site.url }}/public/img/{{ include.name }}.{{ include.type }}">
</section>
{% elsif layout == 'page' and include.type != 'gif' %}
<div class="container">
<div class="sm-col-12">
<section class="image">
<img src="{{ site.url }}/public/img/{{ include.name }}.{{ include.type }}">
</section>
</div>
</div>
{% elsif include.type != 'gif' %}
...
{% else %}
...
{% endif %}
about.md
---
layout: page
---
{% include image.html name="zifferblatt" type="jpg" %}
从包含文件中,您仍然可以使用 page
变量。
在您的情况下,您可以致电 page.layout
:
<img src="{{ site.url }}/public/img/{{ include.url }}" {% if page.layout == 'page' %}class="page"{% endif %}>