2

包裹

我使用 showdown.js 将 markdown 转换为 html,并成功显示了在 chrome 中写入同一文件的内容。像这样:

    <p id="output">test</p>
    <script>
        var converter = new showdown.Converter(),
            text = "# title",
            html = converter.makeHtml(text);
        document.getElementById('output').innerHTML = html;
    </script>

结果是这样的:

title

但是,当我想显示在同一文件之外写入的内容时。像这样:

<!DOCTYPE html>
<html>
<head>
    <title>MarkDown</title>
    <script src="dist/showdown.min.js"></script>
</head>

<body>
    <p id="content" class="hide">{{ blog.content }} </p>
    <p id="output">test</p>
    <script>
        var converter = new showdown.Converter(),
            text = document.getElementById('content').innerText,
            html = converter.makeHtml(text);
        document.getElementById('output').innerHTML = html;
    </script>

</body>
</html>

我刚得到:

{{ blog.content }}

{{ blog.content }}

有人知道这个简单的问题吗?如何在markdown中插入外部内容?

4

1 回答 1

1

看来您正在使用像 React 或 Angular 这样的 JS 框架。

他们解析大括号内的内容并将其替换为所需的 HTML。

问题是 showdown.js 在您的框架有时间渲染内容之前执行。尝试延迟降价转换,直到呈现内容。有不同的方法,具体取决于您使用的框架。

于 2019-12-30T10:02:33.603 回答