我有一系列markdown文件,我想在构建页面时使用两个不同的布局文件在两个不同的文件集中呈现:
- 网站的html文件 - xml文件
有可能这样做吗?似乎markdown文件只能被解析一次。有什么建议?非常感谢
答案 0 :(得分:0)
使用每个布局浏览文件中的markdown文件,并使用液体过滤器markdownify
在不同的上下文中处理相同的内容。
Markdownify
将Markdown格式的字符串转换为HTML。
{{ page.content | markdownify }}
答案 1 :(得分:0)
不需要指向布局文件的降价文件,而是需要两个指向降价帖子文件的页面。
有很多方法可以指向帖子文件。我想使用where
过滤器:
{% assign post = site.posts | where:"url", include.url | first %}
现在你有一个post
,假设你有fileOne.html
你希望将该帖子放入其中。以下是您接近的方式:
---
layout:main
---
<h1>Some html here</h1>
{% assign post = site.posts | where:"url", include.url | first %}
{{ post.content }}
然后你可以在另一个名为fileTwo.html
的文件中做同样的事情。
答案 2 :(得分:0)
您可以为此使用Includes。
注意:您可以将源Markdown文件存储在_includes
文件夹中,然后使用include
将它们包含到其他文件中。
或者,将它们直接存储在目标文件所在的文件夹中,然后使用include_relative
。
我在这里显示第一个选项。
这是文件的内容将在另一个文件中结束的文件:
/_includes/foo.md
:
**bold**
[Stack Overflow](https://stackoverflow.com)
这是包含foo.md
的文件:
a)当是Markdown文件时:
---
layout: default
title: blah
---
This is the "destination file" for the include.
{% include foo.md %}
b)任何不是Markdown的内容:
(如果要渲染foo.md
中的降价,则必须手动执行)
---
layout: default
title: blah
---
<p>This is the "destination file" for the include.</p>
{% capture tmp %}{% include foo.md %}{% endcapture %}
{{ tmp | markdownify }}
两种情况下的结果:
<p>This is the "destination file" for the include.</p>
<p><strong>bold</strong></p>
<p><a href="https://stackoverflow.com">Stack Overflow</a></p>