【问题标题】:How do I incorporate Multiple Markdown files into a Nunjucks template with Eleventy?如何使用 Eleventy 将多个 Markdown 文件合并到 Nunjucks 模板中?
【发布时间】:2020-12-03 20:14:51
【问题描述】:

上下文:

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

目标:

  • 使用 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>

尝试的操作

这是我迄今为止尝试过的......

(注意:为了便于阅读,我已经排除了我的 base.njk(html doctype shell)。)

1。 NJK 主要与 NJK 部分包括

输入

目录结构

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

main-layout.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>

结果

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

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

主布局/index.html

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


我不知道文件是如何处理的,也不知道我能做些什么来做我打算做的事情。

【问题讨论】:

  • 老实说,我对您要做什么感到困惑。包含肯定有效,但前面的内容不会与它们一起运行,所以当你包含一个孩子并且它定义了一个布局时,它不会那样工作。可以简化一下吗?
  • @RaymondCamden 我的目标是让我的内容和布局尽可能分开。例如,我想管理 Markdown 文件中的文本内容“块”,并能够混合和匹配给定页面的不同模板部分。 Lesha Ogonkov(下)证实了我的怀疑; 11ty 不能开箱即用 - 但可以进行一些改造。我会为以后的访问者澄清我的帖子。

标签: nunjucks eleventy


【解决方案1】:

这不是 11ty 的工作方式。每个 MD 文件是一个单独的页面。

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

查看本期示例https://github.com/11ty/eleventy/issues/658

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 2011-10-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2020-02-26
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多