summaryrefslogtreecommitdiffstats
path: root/modules/markup/markdown/markdown.go
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2024-03-01 15:11:51 +0800
committerGitHub <noreply@github.com>2024-03-01 07:11:51 +0000
commite71eb8930a5d0f60874b038c223498b41ad65592 (patch)
treef95ac2c5ed1854929ef63dddeddf8720963477f5 /modules/markup/markdown/markdown.go
parent58ce1de994c2a036ebf7137c143ce193694d740d (diff)
downloadgitea-e71eb8930a5d0f60874b038c223498b41ad65592.tar.gz
gitea-e71eb8930a5d0f60874b038c223498b41ad65592.zip
Refactor some Str2html code (#29397)
This PR touches the most interesting part of the "template refactoring". 1. Unclear variable type. Especially for "web/feed/convert.go": sometimes it uses text, sometimes it uses HTML. 2. Assign text content to "RenderedContent" field, for example: ` project.RenderedContent = project.Description` in web/org/projects.go 3. Assign rendered content to text field, for example: `r.Note = rendered content` in web/repo/release.go 4. (possible) Incorrectly calling `{{Str2html .PackageDescriptor.Metadata.ReleaseNotes}}` in package/content/nuget.tmpl, I guess the name Str2html misleads developers to use it to "render string to html", but it only sanitizes. if ReleaseNotes really contains HTML, then this is not a problem.
Diffstat (limited to 'modules/markup/markdown/markdown.go')
-rw-r--r--modules/markup/markdown/markdown.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/markup/markdown/markdown.go b/modules/markup/markdown/markdown.go
index 771162b9a3..f0b1afa27e 100644
--- a/modules/markup/markdown/markdown.go
+++ b/modules/markup/markdown/markdown.go
@@ -6,6 +6,7 @@ package markdown
import (
"fmt"
+ "html/template"
"io"
"strings"
"sync"
@@ -262,12 +263,12 @@ func Render(ctx *markup.RenderContext, input io.Reader, output io.Writer) error
}
// RenderString renders Markdown string to HTML with all specific handling stuff and return string
-func RenderString(ctx *markup.RenderContext, content string) (string, error) {
+func RenderString(ctx *markup.RenderContext, content string) (template.HTML, error) {
var buf strings.Builder
if err := Render(ctx, strings.NewReader(content), &buf); err != nil {
return "", err
}
- return buf.String(), nil
+ return template.HTML(buf.String()), nil
}
// RenderRaw renders Markdown to HTML without handling special links.