在呈现 Markdown 客户端时显示 GitHub Gist

Display GitHub Gist while rendering Markdown client-side

提问人:Ayan Mullick 提问时间:3/27/2023 最后编辑:Ayan Mullick 更新时间:4/28/2023 访问量:182

问:

如何使用 Marked.js 或任何其他客户端 Markdown 库在客户端解析 Markdown 文件时显示 GitHub Gist 的内容?下面的代码呈现除 Gist 之外的 Markdown 文件。

fetch("https://raw.githubusercontent.com/Ayanmullick/test/master/ScriptTagTest.md")
    .then(response => response.blob())  // Unwrap to a blob...
    .then(blob => blob.text())          // ...then to raw text...
    .then(markdown => {        // .pass raw text into marked.parse
document.getElementById("content").innerHTML=marked.parse(markdown)
    })
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>

<div id="content"></div>

但是,Gist 在禁用 : 后在 Visual Studio Code 中呈现 OK。Markdown content preview settingsDisable preview security warning in this workspace

enter image description here

Markdown 客户端 gist html 渲染 javascript 标记

评论

0赞 SARAN SURYA 3/29/2023
也许这可以给你提个醒:stackoverflow.com/questions/11622509/......
0赞 Ayan Mullick 3/29/2023
@SARANSURYA,这个答案Jekyll 提供了一个解决方案,可以在存储库中将页面呈现为 HTML。我正在尝试在客户端获取和渲染 Markdown 文件。

答:

0赞 mushahidq 3/29/2023 #1

这可能是因为 Marked.js 未在已解析的 Markdown 文件中执行脚本。我不确定哪些库会允许您执行此操作,但根据此,您可能可以在 Docsify-JS 中执行此操作 https://gist.github.com/MichaelCurrin/c2bece08f27c4277001f123898d16a7c

您需要启用此 executescript:true 才能运行内联脚本 https://docsify.js.org/#/configuration?id=executescript

评论

0赞 Ayan Mullick 3/29/2023
我也试过。Docsify 团队在 Discord 上确认他们不支持它