From 97dfcc057575820a2688f7087ba7a0e4f7552d4c Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 10 Feb 2025 15:58:59 +0800 Subject: render_readme: Abstract away README rendering --- handle_repo_index.go | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) (limited to 'handle_repo_index.go') diff --git a/handle_repo_index.go b/handle_repo_index.go index 44ba481..8fe6b8d 100644 --- a/handle_repo_index.go +++ b/handle_repo_index.go @@ -1,15 +1,11 @@ package main import ( - "bytes" - "html/template" "net/http" "path/filepath" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing/object" - "github.com/microcosm-cc/bluemonday" - "github.com/yuin/goldmark" ) func handle_repo_index(w http.ResponseWriter, r *http.Request) { @@ -55,24 +51,7 @@ func handle_repo_index(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte("Error getting file tree: " + err.Error())) return } - readme_file, err := tree.File("README.md") - if err != nil { - data["readme"] = "There is no README for this repository." - } else { - readme_file_contents, err := readme_file.Contents() - if err != nil { - data["readme"] = "There is no README for this repository." - } 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()) - return - } - 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 tree.Entries { -- cgit v1.2.3