gpt4 book ai didi

javascript - Markdown 美化

转载 作者:行者123 更新时间:2023-11-28 06:52:30 28 4
gpt4 key购买 nike

我在我们的项目中使用 PageDpwn markdown 来轻松输入内容和代码片段。我已经打印出 markdown 并将其转换为 HTML。我使用 jQuery $.ajax 从数据库中检索 markdown 并即时转换它。当然这并不理想。我想从数据库直接打印出 HTML,但碰巧的是,当我这样做时,我必须使用 PHP 打印函数,其输出代码片段为:

<--?php # Code ?-->

这是非常不幸的。所以我在页面 View 中将 markdown 转换为 HTML。

<script>
var id = $('input[name=id]').val();
var html = '';

$.ajax({
url: BASE_DIR + 'pages/get_post/' + id,
type: 'POST',
dataType: 'json',
success: function(data) {
html = data;
var converter = new Markdown.Converter();
Markdown.Extra.init(converter, {
extensions: "all",
highlighter: "prettify"
});

$('#html').html(converter.makeHtml(html)); }
});
</script>

如您所见,我正在使用 prettify 进行语法突出显示。在 markdown 中我通过使用成功了

```php
Code block here
```

我尝试使用:

<pre><code>Code block here</code></pre>

带有类,但代码块<>标签被注释掉。所以,我的问题是我必须在页面底部加载 prettify.js 以及 run_prettify.js ,否则语法突出显示或行编号将不会触发。在我的 body 上,我有:

<body onload="prettyPrint()">

它不会出现控制台错误,但由于某些奇怪的原因,语法突出显示的一小部分时间不会触发。我必须重新加载页面几次才能完成。然后它会工作一段时间,或者可能更长一段时间,但这种奇怪的行为不断发生。有谁知道为什么吗?

最佳答案

答案是不使用 Javascript,而是使用 PHP 库进行 Markdown 将内容转换为 HTML。它使用 ASCII 字符以正确的方式在代码块内转换 HTML。我对库进行了一些调整,以提供 Prism.js 语法突出显示和行编号。

关于javascript - Markdown 美化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32836016/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com