mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 13:28:25 +00:00 
			
		
		
		
	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.
			
			
This commit is contained in:
		@@ -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.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user