0

我正在尝试将 markdown-it.js 与 nodejs 一起使用来呈现包含一些 c++ 代码的 markdown 页面。

这是 javascript 代码,它转换 body 标记中的所有内容:

var markdownjs = require('markdown-it')({ html: true });
var body = document.getElementsByTagName("body")[0];
bodyHTML = body.innerHTML;
bodyHTML = markdownjs.render(bodyHTML);
body.innerHTML = bodyHTML

这是降价 html 文档:


<!DOCTYPE html>
<title>Hello Javascript</title>

# Hello Javascript

- test1

```cpp
    #include <iostream>

    int main(int argc, char * argv[])
    {
        std::cout << "Hello World" << std::endl;
    }
`` `

<script src="bundle.js" ></script>

一切都按照我的预期呈现,除了在 c++ 代码中流/移位运算符呈现为 < ;

4

2 回答 2

0

考虑将尖括号与它们各自的对应部分一起转义

  • &lt;为了<
  • &gt;为了>
    ```cpp
        #include <iostream>

        int main(int argc, char * argv[])
        {
            std::cout &lt;&lt; "Hello World" &lt;&lt; std::endl;
        }
    ```

于 2019-12-01T21:59:36.333 回答
0

好的,弄清楚它是什么。无论出于何种原因,降价 - 它正在呈现: < as & ;lt; >作为&gt; 我不得不添加一些额外的转换来替换& amp; &

注意:在上面 & 和 amp 之间没有空格,我把它放进去,因为 & + amp + ; 正在变成&,我不知道如何逃脱它。

于 2019-12-05T21:35:23.040 回答