summaryrefslogtreecommitdiffstats
path: root/models
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 /models
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 'models')
-rw-r--r--models/issues/comment.go5
-rw-r--r--models/issues/issue.go3
-rw-r--r--models/issues/milestone.go5
-rw-r--r--models/project/project.go3
-rw-r--r--models/repo/release.go3
5 files changed, 12 insertions, 7 deletions
diff --git a/models/issues/comment.go b/models/issues/comment.go
index c7b22f3cca..da91a83384 100644
--- a/models/issues/comment.go
+++ b/models/issues/comment.go
@@ -8,6 +8,7 @@ package issues
import (
"context"
"fmt"
+ "html/template"
"strconv"
"unicode/utf8"
@@ -259,8 +260,8 @@ type Comment struct {
CommitID int64
Line int64 // - previous line / + proposed line
TreePath string
- Content string `xorm:"LONGTEXT"`
- RenderedContent string `xorm:"-"`
+ Content string `xorm:"LONGTEXT"`
+ RenderedContent template.HTML `xorm:"-"`
// Path represents the 4 lines of code cemented by this comment
Patch string `xorm:"-"`
diff --git a/models/issues/issue.go b/models/issues/issue.go
index 90aad10bb9..563a780dcb 100644
--- a/models/issues/issue.go
+++ b/models/issues/issue.go
@@ -7,6 +7,7 @@ package issues
import (
"context"
"fmt"
+ "html/template"
"regexp"
"slices"
@@ -105,7 +106,7 @@ type Issue struct {
OriginalAuthorID int64 `xorm:"index"`
Title string `xorm:"name"`
Content string `xorm:"LONGTEXT"`
- RenderedContent string `xorm:"-"`
+ RenderedContent template.HTML `xorm:"-"`
Labels []*Label `xorm:"-"`
MilestoneID int64 `xorm:"INDEX"`
Milestone *Milestone `xorm:"-"`
diff --git a/models/issues/milestone.go b/models/issues/milestone.go
index f663d42fe9..ea52a64c81 100644
--- a/models/issues/milestone.go
+++ b/models/issues/milestone.go
@@ -6,6 +6,7 @@ package issues
import (
"context"
"fmt"
+ "html/template"
"strings"
"code.gitea.io/gitea/models/db"
@@ -47,8 +48,8 @@ type Milestone struct {
RepoID int64 `xorm:"INDEX"`
Repo *repo_model.Repository `xorm:"-"`
Name string
- Content string `xorm:"TEXT"`
- RenderedContent string `xorm:"-"`
+ Content string `xorm:"TEXT"`
+ RenderedContent template.HTML `xorm:"-"`
IsClosed bool
NumIssues int
NumClosedIssues int
diff --git a/models/project/project.go b/models/project/project.go
index d2fca6cdc8..42b06e58c9 100644
--- a/models/project/project.go
+++ b/models/project/project.go
@@ -6,6 +6,7 @@ package project
import (
"context"
"fmt"
+ "html/template"
"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
@@ -100,7 +101,7 @@ type Project struct {
CardType CardType
Type Type
- RenderedContent string `xorm:"-"`
+ RenderedContent template.HTML `xorm:"-"`
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
diff --git a/models/repo/release.go b/models/repo/release.go
index 9287931dd5..a9f65f6c3e 100644
--- a/models/repo/release.go
+++ b/models/repo/release.go
@@ -7,6 +7,7 @@ package repo
import (
"context"
"fmt"
+ "html/template"
"net/url"
"sort"
"strconv"
@@ -80,7 +81,7 @@ type Release struct {
NumCommits int64
NumCommitsBehind int64 `xorm:"-"`
Note string `xorm:"TEXT"`
- RenderedNote string `xorm:"-"`
+ RenderedNote template.HTML `xorm:"-"`
IsDraft bool `xorm:"NOT NULL DEFAULT false"`
IsPrerelease bool `xorm:"NOT NULL DEFAULT false"`
IsTag bool `xorm:"NOT NULL DEFAULT false"` // will be true only if the record is a tag and has no related releases