用于 Go 的 Markdown 解析器和 HTML 渲染器
GitHub.com/gomarkdown/markdown 是一个用于解析 Markdown 文本并将其渲染为 HTML 的 Go 库。示例源代码: examples/basic.go 如需更多文档,请阅读 此指南 与其他 Markdown 解析器相比: https://babelmark.github.io/
我们不保护免受恶意内容的攻击。在处理用户提供的内容时
使用 markdown, 将渲染的 HTML 通过像 Bluemonday 这样的 HTML 清洁程序进行处理。
特别是, parser.Attributes 和 parser.InlineAttributes
扩展允许 Markdown 编写者设置任意 HTML 属性,例如
通过 {: key="value"} 设置 onclick。这是设计上的要求,因此永远不要为它们启用。
不受信任的输入,即使使用 html.SkipHTML。
以下是使用 Bluemonday 的简单示例:
import (
"github.com/microcosm-cc/bluemonday"
"github.com/gomarkdown/markdown"
)
// ...
maybeUnsafeHTML := markdown.ToHTML(md, nil, nil)
html := bluemonday.UGCPolicy().SanitizeBytes(maybeUnsafeHTML)暂无开放 Issues,或尚未同步最近议题。