Metalsmith не избежать выхода Markdown + Nunjucks - PullRequest
0 голосов
/ 13 апреля 2019

Я застрял с этой проблемой.Когда я использую Markdown + Nunjucks, как объяснено в Wiki , посвященном металлостроению, вывод неправильный (см. Ниже).

Макет по умолчанию, обратите внимание на фильтр safe (_layouts/base.njk):

<!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="utf-8">
    <title>{{title}}</title>
  </head>
  <body>
    {{ contents | safe }}
  </body>

Шаблон, который использует Markdown + Nunjucks (about.md.njk):

---
title: About
layout: base.njk
---

# {{ title }}

Вывод:

<p>&lt;!DOCTYPE html&gt;
  &lt;html lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;meta charset=&quot;utf-8&quot;&gt;
    &lt;title&gt;About&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;</p>

<h1>About</h1>

<p>  &lt;/body&gt;
&lt;/html&gt;</p>

1 Ответ

1 голос
/ 13 апреля 2019

Решено сразу после публикации вопроса. Это может помочь, проблема в порядке плагинов в моем build.js:

Metalsmith(__dirname)
  .source('./contents')
  .destination('./build')
  .clean(true)
  .use(inPlace()) // inPlace must come BEFORE layouts!
  .use(layouts({
    directory: '_layouts',
    default: 'base.njk'
  }))
  .build(function(err) {
    if (err) throw err;
  });
...