@@ -13,6 +13,8 @@ import (
13
13
14
14
"code.gitea.io/gitea/models"
15
15
"code.gitea.io/gitea/modules/context"
16
+ "code.gitea.io/gitea/modules/markup"
17
+ "code.gitea.io/gitea/modules/markup/markdown"
16
18
"code.gitea.io/gitea/modules/setting"
17
19
"code.gitea.io/gitea/modules/templates"
18
20
"code.gitea.io/gitea/modules/util"
@@ -44,6 +46,25 @@ func toReleaseLink(act *models.Action) string {
44
46
return act .GetRepoLink () + "/releases/tag/" + util .PathEscapeSegments (act .GetBranch ())
45
47
}
46
48
49
+ // renderMarkdown creates a minimal markdown render context from an action.
50
+ // If rendering fails, the original markdown text is returned
51
+ func renderMarkdown (ctx * context.Context , act * models.Action , content string ) string {
52
+ markdownCtx := & markup.RenderContext {
53
+ Ctx : ctx ,
54
+ URLPrefix : act .GetRepoLink (),
55
+ Type : markdown .MarkupName ,
56
+ Metas : map [string ]string {
57
+ "user" : act .GetRepoUserName (),
58
+ "repo" : act .GetRepoName (),
59
+ },
60
+ }
61
+ markdown , err := markdown .RenderString (markdownCtx , content )
62
+ if err != nil {
63
+ return content
64
+ }
65
+ return markdown
66
+ }
67
+
47
68
// feedActionsToFeedItems convert gitea's Action feed to feeds Item
48
69
func feedActionsToFeedItems (ctx * context.Context , actions []* models.Action ) (items []* feeds.Item , err error ) {
49
70
for _ , act := range actions {
@@ -192,12 +213,12 @@ func feedActionsToFeedItems(ctx *context.Context, actions []*models.Action) (ite
192
213
193
214
case models .ActionCreateIssue , models .ActionCreatePullRequest :
194
215
desc = strings .Join (act .GetIssueInfos (), "#" )
195
- content = act .GetIssueContent ()
216
+ content = renderMarkdown ( ctx , act , act .GetIssueContent () )
196
217
case models .ActionCommentIssue , models .ActionApprovePullRequest , models .ActionRejectPullRequest , models .ActionCommentPull :
197
218
desc = act .GetIssueTitle ()
198
219
comment := act .GetIssueInfos ()[1 ]
199
220
if len (comment ) != 0 {
200
- desc += "\n \n " + comment
221
+ desc += "\n \n " + renderMarkdown ( ctx , act , comment )
201
222
}
202
223
case models .ActionMergePullRequest :
203
224
desc = act .GetIssueInfos ()[1 ]
0 commit comments