Как добиться правильного отображения угловых скобок в коде C++ в markdown-it?
Я стараюсь использовать markdown-it.js с nodejs для рендеринга страницы уценки, содержащей некоторый код С ++.
Это код 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++ операторы потока / сдвига отображаются как <
2 ответа
Попробуйте избежать угловых скобок с их соответствующими компонентами.
<
за<
>
за>
```cpp
#include <iostream>
int main(int argc, char * argv[])
{
std::cout << "Hello World" << std::endl;
}
```
ОК разобрался, что это было. По какой-то причине уценка - это рендеринг:< as & amp; lt; и > как & amp; gt; Мне пришлось добавить некоторые дополнительные преобразования, чтобы заменить & amp; с &.
ПРИМЕЧАНИЕ. В приведенном выше примере нет пробела между & и amp, я вставил это, потому что & + amp +; превращается в &, и я не знаю, как от него убежать.