2

我在 Eleventy 中使用 Nunjucks 模板。页面布局由一个主要content区域和一个aside. 我可以将 Markdown 用于内容,但找不到使用 Markdown 的方法。Markdown 似乎只有一个来源;模板中包含的任何其他来源必须是 Nunjucks 模板。

index.njk:

  <article>
    {{ content | safe }} 
  </article>
  <aside>
    {% include "aside.md" %}
  </aside>

除了.md:

# Aside.

结果:

<article>
<p>This is the content from the upstream Markdown.</p>
</article>
<aside>
# Aside.
</aside>

旁边仍然是原始的 Markdown。如何包含已处理的 Markdown?

我对所有这些技术都很陌生,并且感觉我缺少一些基本的东西。

4

1 回答 1

0

使用包含

包含必须放置在特定文件夹中(_includes - 您可以覆盖此文件夹名称,甚至有子文件夹):

    {% include 'partials/google-analytics.html' %}
    {% include 'partials/cookie-consent.html' %}
    {% include 'partials/post-sharing.html' %}

或者你可以定义一个(它们必须被导入,或者在你使用它们的地方定义)。宏的优点是您可以在调用它们时传入参数,它们作为函数工作......

{% macro paginationLink(active, disabled, href, title) %}    
    <li class="page-item {% if active %} active {% elseif disabled %} disabled {% endif %}">
        {% if disabled %} 
            <span class="page-link">{{ title | safe }}</span>
        {% else %}
            <a class="page-link" href="{{ href | url }}">{{ title | safe }}</a>
        {% endif %}        
    </li>
{% endmacro %}

然后可以轻松调用宏 ^:

{{ paginationLink(false, isFirst, firstPageHref, '<i class="fas fa-angle-double-left"></i>') }}
于 2021-03-13T18:48:28.530 回答