44package templates
55
66import (
7+ "code.gitea.io/gitea/models/renderhelper"
8+ "code.gitea.io/gitea/models/repo"
79 "encoding/hex"
810 "fmt"
911 "html/template"
@@ -34,11 +36,11 @@ func NewRenderUtils(ctx reqctx.RequestContext) *RenderUtils {
3436}
3537
3638// 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 {
3840 cleanMsg := template .HTMLEscapeString (msg )
3941 // we can safely assume that it will not return any error, since there
4042 // 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 )
4244 if err != nil {
4345 log .Error ("PostProcessCommitMessage: %v" , err )
4446 return ""
@@ -52,7 +54,7 @@ func (ut *RenderUtils) RenderCommitMessage(msg string, metas map[string]string)
5254
5355// RenderCommitMessageLinkSubject renders commit message as a XSS-safe link to
5456// 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 {
5658 msgLine := strings .TrimLeftFunc (msg , unicode .IsSpace )
5759 lineEnd := strings .IndexByte (msgLine , '\n' )
5860 if lineEnd > 0 {
@@ -63,9 +65,8 @@ func (ut *RenderUtils) RenderCommitMessageLinkSubject(msg, urlDefault string, me
6365 return ""
6466 }
6567
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 ))
6970 if err != nil {
7071 log .Error ("PostProcessCommitMessageSubject: %v" , err )
7172 return ""
@@ -74,7 +75,7 @@ func (ut *RenderUtils) RenderCommitMessageLinkSubject(msg, urlDefault string, me
7475}
7576
7677// 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 {
7879 msgLine := strings .TrimSpace (msg )
7980 lineEnd := strings .IndexByte (msgLine , '\n' )
8081 if lineEnd > 0 {
@@ -87,7 +88,7 @@ func (ut *RenderUtils) RenderCommitBody(msg string, metas map[string]string) tem
8788 return ""
8889 }
8990
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 ))
9192 if err != nil {
9293 log .Error ("PostProcessCommitMessage: %v" , err )
9394 return ""
@@ -105,8 +106,8 @@ func renderCodeBlock(htmlEscapedTextToRender template.HTML) template.HTML {
105106}
106107
107108// 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 ))
110111 if err != nil {
111112 log .Error ("PostProcessIssueTitle: %v" , err )
112113 return ""
0 commit comments