diff options
author | Runxi Yu <me@runxiyu.org> | 2025-02-10 15:58:59 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-02-10 15:58:59 +0800 |
commit | 97dfcc057575820a2688f7087ba7a0e4f7552d4c (patch) | |
tree | 3d42267ce412bf1314d10c8cf8a08a2e246f3a57 /handle_repo_tree.go | |
parent | repo_tree: Handle error from formatter.Format (diff) | |
download | forge-97dfcc057575820a2688f7087ba7a0e4f7552d4c.tar.gz forge-97dfcc057575820a2688f7087ba7a0e4f7552d4c.tar.zst forge-97dfcc057575820a2688f7087ba7a0e4f7552d4c.zip |
render_readme: Abstract away README rendering
Diffstat (limited to 'handle_repo_tree.go')
-rw-r--r-- | handle_repo_tree.go | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/handle_repo_tree.go b/handle_repo_tree.go index ea596b5..917b79b 100644 --- a/handle_repo_tree.go +++ b/handle_repo_tree.go @@ -12,8 +12,6 @@ import ( chroma_styles "github.com/alecthomas/chroma/v2/styles" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing" - "github.com/microcosm-cc/bluemonday" - "github.com/yuin/goldmark" ) func handle_repo_tree(w http.ResponseWriter, r *http.Request) { @@ -83,23 +81,7 @@ func handle_repo_tree(w http.ResponseWriter, r *http.Request) { return } - readme_file, err := target.File("README.md") - if err != nil { - data["readme"] = "There is no README for this directory." - } else { - readme_file_contents, err := readme_file.Contents() - if err != nil { - data["readme"] = "There is no README for this directory." - } else { - var readme_rendered_unsafe bytes.Buffer - err = goldmark.Convert([]byte(readme_file_contents), &readme_rendered_unsafe) - if err != nil { - readme_rendered_unsafe.WriteString("Unable to render README: " + err.Error()) - } - readme_rendered_safe := template.HTML(bluemonday.UGCPolicy().SanitizeBytes(readme_rendered_unsafe.Bytes())) - data["readme"] = readme_rendered_safe - } - } + data["readme"] = render_readme_at_tree(tree) display_git_tree := make([]display_git_tree_entry_t, 0) for _, entry := range target.Entries { |