4
4
package templates
5
5
6
6
import (
7
+ "code.gitea.io/gitea/models/renderhelper"
8
+ "code.gitea.io/gitea/models/repo"
7
9
"encoding/hex"
8
10
"fmt"
9
11
"html/template"
@@ -34,11 +36,11 @@ func NewRenderUtils(ctx reqctx.RequestContext) *RenderUtils {
34
36
}
35
37
36
38
// RenderCommitMessage renders commit message with XSS-safe and special links.
37
- func (ut * RenderUtils ) RenderCommitMessage (msg string , metas map [ string ] string ) template.HTML {
39
+ func (ut * RenderUtils ) RenderCommitMessage (msg string , repo * repo. Repository ) template.HTML {
38
40
cleanMsg := template .HTMLEscapeString (msg )
39
41
// we can safely assume that it will not return any error, since there
40
42
// shouldn't be any special HTML.
41
- fullMessage , err := markup .PostProcessCommitMessage (markup . NewRenderContext (ut .ctx ). WithMetas ( metas ), cleanMsg )
43
+ fullMessage , err := markup .PostProcessCommitMessage (renderhelper . NewRenderContextRepoComment (ut .ctx , repo ), cleanMsg )
42
44
if err != nil {
43
45
log .Error ("PostProcessCommitMessage: %v" , err )
44
46
return ""
@@ -52,7 +54,7 @@ func (ut *RenderUtils) RenderCommitMessage(msg string, metas map[string]string)
52
54
53
55
// RenderCommitMessageLinkSubject renders commit message as a XSS-safe link to
54
56
// the provided default url, handling for special links without email to links.
55
- func (ut * RenderUtils ) RenderCommitMessageLinkSubject (msg , urlDefault string , metas map [ string ] string ) template.HTML {
57
+ func (ut * RenderUtils ) RenderCommitMessageLinkSubject (msg , urlDefault string , repo * repo. Repository ) template.HTML {
56
58
msgLine := strings .TrimLeftFunc (msg , unicode .IsSpace )
57
59
lineEnd := strings .IndexByte (msgLine , '\n' )
58
60
if lineEnd > 0 {
@@ -63,9 +65,8 @@ func (ut *RenderUtils) RenderCommitMessageLinkSubject(msg, urlDefault string, me
63
65
return ""
64
66
}
65
67
66
- // we can safely assume that it will not return any error, since there
67
- // shouldn't be any special HTML.
68
- renderedMessage , err := markup .PostProcessCommitMessageSubject (markup .NewRenderContext (ut .ctx ).WithMetas (metas ), urlDefault , template .HTMLEscapeString (msgLine ))
68
+ // we can safely assume that it will not return any error, since there shouldn't be any special HTML.
69
+ renderedMessage , err := markup .PostProcessCommitMessageSubject (renderhelper .NewRenderContextRepoComment (ut .ctx , repo ), urlDefault , template .HTMLEscapeString (msgLine ))
69
70
if err != nil {
70
71
log .Error ("PostProcessCommitMessageSubject: %v" , err )
71
72
return ""
@@ -74,7 +75,7 @@ func (ut *RenderUtils) RenderCommitMessageLinkSubject(msg, urlDefault string, me
74
75
}
75
76
76
77
// RenderCommitBody extracts the body of a commit message without its title.
77
- func (ut * RenderUtils ) RenderCommitBody (msg string , metas map [ string ] string ) template.HTML {
78
+ func (ut * RenderUtils ) RenderCommitBody (msg string , repo * repo. Repository ) template.HTML {
78
79
msgLine := strings .TrimSpace (msg )
79
80
lineEnd := strings .IndexByte (msgLine , '\n' )
80
81
if lineEnd > 0 {
@@ -87,7 +88,7 @@ func (ut *RenderUtils) RenderCommitBody(msg string, metas map[string]string) tem
87
88
return ""
88
89
}
89
90
90
- renderedMessage , err := markup .PostProcessCommitMessage (markup . NewRenderContext (ut .ctx ). WithMetas ( metas ), template .HTMLEscapeString (msgLine ))
91
+ renderedMessage , err := markup .PostProcessCommitMessage (renderhelper . NewRenderContextRepoComment (ut .ctx , repo ), template .HTMLEscapeString (msgLine ))
91
92
if err != nil {
92
93
log .Error ("PostProcessCommitMessage: %v" , err )
93
94
return ""
@@ -105,8 +106,8 @@ func renderCodeBlock(htmlEscapedTextToRender template.HTML) template.HTML {
105
106
}
106
107
107
108
// RenderIssueTitle renders issue/pull title with defined post processors
108
- func (ut * RenderUtils ) RenderIssueTitle (text string , metas map [ string ] string ) template.HTML {
109
- renderedText , err := markup .PostProcessIssueTitle (markup . NewRenderContext (ut .ctx ). WithMetas ( metas ), template .HTMLEscapeString (text ))
109
+ func (ut * RenderUtils ) RenderIssueTitle (text string , repo * repo. Repository ) template.HTML {
110
+ renderedText , err := markup .PostProcessIssueTitle (renderhelper . NewRenderContextRepoComment (ut .ctx , repo ), template .HTMLEscapeString (text ))
110
111
if err != nil {
111
112
log .Error ("PostProcessIssueTitle: %v" , err )
112
113
return ""
0 commit comments