gpt4 book ai didi

nunjucks - 如何使用 Eleventy 将多个 Markdown 文件合并到 Nunjucks 模板中?

转载 作者:行者123 更新时间:2023-12-04 09:08:21 24 4
gpt4 key购买 nike

背景:

  • Eleventy 和 Nunjucks(和 Markdown)
  • 大量长格式文本(使用 markdown 更容易创建/编辑)。
  • 复杂的布局。
  • 对 SSG 还是新手

目标:

  • 使用 markdown 管理文本内容 block 。
  • 将这些 Markdown 文件与模板部分一起使用。
  • 将部分内容组装成一个页面。

预期结果

处理后的html页面:

    <html>
<body>
<div>
<p>Some content originating from a markdown file.</p>
</div>
<div>
<p>Some content originating from another markdown file.</p>
</div>
</body>
</html>

尝试的 Action

这是我到目前为止尝试过的...

(注意:为了便于阅读,我排除了我的 base.njk(html 文档类型外壳)。)

1。 NJK 主要内容和 NJK 部分内容

输入

目录结构

src/
/_includes
base.njk
_layout-A.njk
_layout-B.njk
main-layout.njk
content-1.md
content-2.md

主要布局.njk

    {% extends "base.njk" %}

{% block content %}

{% include '_layout-A.njk' %}

{% include '_layout-B.njk' %}

{% endblock %}

content-1.md

    ---
layout: _layout-A.njk
---
Some content.

_layout-A.njk

    <div>{{ content | safe }}</div>

content-2.md

    ---
layout: _layout-B.njk
---

Some more content.

_layout-B.njk

    <div>{{ content | safe }}</div>

结果

  • 目录结构“ split ”。
dist/
/content-1
index.html
/content-2
index.html
/main-layout
index.html

  • Markdown 内容未传递到父页面。父项中的空子项标签。

主布局/index.html

    <html>
<body>
<div></div>
<div></div>
</body>
</html>


我不知道文件是如何处理的,也不知道我能做什么来完成我的计划。

最佳答案

这不是 11ty 的运作方式。每个 MD 文件都是一个页面。

如果你想在页面中包含多个 MD 文件,你应该为 11ty 添加自定义过滤器,以将其呈现为 html。

参见本期示例 https://github.com/11ty/eleventy/issues/658

关于nunjucks - 如何使用 Eleventy 将多个 Markdown 文件合并到 Nunjucks 模板中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63404330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com