【问题标题】:How do I get angle brackets to display properly in C++ code within markdown-it?如何在 markdown-it 中的 C++ 代码中正确显示尖括号?
【发布时间】:2019-12-01 21:51:31
【问题描述】:

我正在尝试使用 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

这是markdown 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++ 代码中流/移位运算符呈现为 &lt ;

【问题讨论】:

    标签: javascript node.js markdown markdown-it


    【解决方案1】:

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

    • &amp;lt;&lt;
    • &amp;gt;&gt;
        ```cpp
            #include <iostream>
    
            int main(int argc, char * argv[])
            {
                std::cout &lt;&lt; "Hello World" &lt;&lt; std::endl;
            }
        ```
    
    

    【讨论】:

    • 谢谢,不幸的是这也不起作用。有趣的是 工作正常,并且有 2 个尖括号。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 2021-04-13
      • 2023-03-31
      • 1970-01-01
      • 2014-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      相关资源
      最近更新 更多