Lindenii Project Forge
Commit info | |
---|---|
ID | 778f9acb9907184cda74228ac8d3b76872a17e9f |
Author | Runxi Yu<me@runxiyu.org> |
Author date | Mon, 10 Feb 2025 22:31:22 +0800 |
Committer | Runxi Yu<me@runxiyu.org> |
Committer date | Mon, 10 Feb 2025 22:31:22 +0800 |
Actions | Get patch |
render_readme: Use GitHub-flavored markdown
package main import ( "bytes" "html/template" "github.com/go-git/go-git/v5/plumbing/object" "github.com/microcosm-cc/bluemonday" "github.com/yuin/goldmark"
"github.com/yuin/goldmark/extension"
) func render_readme_at_tree(tree *object.Tree) any { readme_file, err := tree.File("README.md") if err != nil { return "" } readme_file_contents, err := readme_file.Contents() if err != nil { return "Unable to fetch contents of README: " + err.Error() }
md := goldmark.New( goldmark.WithExtensions( extension.GFM, ), )
var readme_rendered_unsafe bytes.Buffer
err = goldmark.Convert([]byte(readme_file_contents), &readme_rendered_unsafe)
err = md.Convert([]byte(readme_file_contents), &readme_rendered_unsafe)
if err != nil { return "Unable to render README: " + err.Error() } return template.HTML(bluemonday.UGCPolicy().SanitizeBytes(readme_rendered_unsafe.Bytes())) }