[英]Include markdown file in html file
在Jekyll中,我創建了一個布局文件dev.html
,該文件已經在使用其他layout: default
但這並不重要。
dev.html
---
layout: default
title: Developer
---
<div>
{{ want to include page1.md }}
</div>
<div>
{{ want to include page2.md }}
</div>
現在,我有那兩個markdown頁面,我需要以某種方式將它們包含在dev.html文件中。 我怎樣才能做到這一點? 我嘗試使用變量{{content}}
但它將在dev.html
文件中一次包含兩個頁面。
page1.md
---
layout: dev
---
page1 file content in markdown...
page2.md
---
layout: dev
---
page2 file content in markdown...
據我所知,不可能在布局文件中“加載”兩個不同的頁面。
頁面是否必須具有YAML的前身?
如果沒有,我為您提供一個不同的解決方案:使用Jekyll的Includes 。
包含工作的方式基本上是這樣的:
_includes
文件夾中,例如foo.html
{% include foo.html %}
唯一的問題是,默認情況下,includes應該是HTML文件。 但是也可以將Markdown文件用作包含文件,並使用Liquid的markdownify
過濾器呈現Markdown。
例:
(常規頁面,而不是布局文件)
---
layout: default
title: Developer
---
<div>
{% capture p1 %}{% include page1.md %}{% endcapture %}
{{ p1 | markdownify }}
</div>
<div>
{% capture p2 %}{% include page2.md %}{% endcapture %}
{{ p2 | markdownify }}
</div>
(無前題)
page1 file content in markdown...
(無前題)
page2 file content in markdown...
我會這樣做:
---
layout: default
title: Developer
---
<div>
{% assign sitepages = site.pages | where: "slug", "page1" %}
{% for p in sitepages %}
{{ p.content }}
{% endfor %}
</div>
<div>
{% assign sitepages = site.pages | where: "slug", "page2" %}
{% for p in sitepages %}
{{ p.content }}
{% endfor %}
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.