3

切中要害

有没有办法让 Pug 在 Markdown 文件中包含嵌入的 HTML 作为实际 HTML 的一部分,而不仅仅是纯文本?

细节

我有一个使用jstransformer-markdown-it过滤器的 Pug 模板。输入 Markdown 文件已嵌入 HTML。该 Markdown 文件看起来像这样 ( video.md)

# Watch this video!

This video demonstrates *the power of something something*.

<iframe width="560" height="315" src="https://www.youtube.com/..." frameborder="0" allowfullscreen></iframe>

More Markdown here.
----------------

加载此 Markdown 文件的模板如下所示 ( entry.pug)

html
  include head.pug

  body
    header Article

    div(id="main")
      article
        include:markdown-it video.md

然后通过 Express 像这样 ( index.js) 提供服务。

const express = require('express');
const app = express();
app.set('view engine', 'pug');

app.get('/', (req, res) => {
  res.render('entry');
}

app.listen(3000);

在浏览器中加载此内容时,文件中的大部分 Markdown 都已成功转换为 HTML。然而,嵌入的标记(iframe在这种情况下)是作为纯文本插入的。

有没有办法让 Pug 在 Markdown 文件中包含嵌入的 HTML 作为实际 HTML 的一部分,而不仅仅是文本?

4

1 回答 1

6

有一种方法,但它是无证的! https://github.com/pugjs/pug/issues/2200

改变include:markdown-it(html)

您还可以安装 markdown-it 插件,并将它们包含在例如include:markdown-it(plugins=['markdown-it-decorate'])

我还没有找到默认打开插件的方法,因此您需要将它们放在每个 pug 包含中。

于 2017-04-21T22:05:53.833 回答