From a4bcb40c5905783ae1458612279af7926c1569ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Tue, 14 Dec 2021 12:54:22 +0100
Subject: [PATCH 01/26] WIP: Add support for markdown in checks

---
 modules/templates/helper.go      | 12 ++++++++++++
 templates/repo/pulls/status.tmpl |  3 ++-
 web_src/less/_base.less          |  4 ++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index f4529503d8f4d..f013e49137b7e 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -32,6 +32,7 @@ import (
 	"code.gitea.io/gitea/modules/json"
 	"code.gitea.io/gitea/modules/log"
 	"code.gitea.io/gitea/modules/markup"
+	"code.gitea.io/gitea/modules/markup/markdown"
 	"code.gitea.io/gitea/modules/repository"
 	"code.gitea.io/gitea/modules/setting"
 	"code.gitea.io/gitea/modules/svg"
@@ -97,6 +98,7 @@ func NewFuncMap() []template.FuncMap {
 		"SafeJS":        SafeJS,
 		"JSEscape":      JSEscape,
 		"Str2html":      Str2html,
+		"Md2html":       Md2html,
 		"TimeSince":     timeutil.TimeSince,
 		"TimeSinceUnix": timeutil.TimeSinceUnix,
 		"RawTimeSince":  timeutil.RawTimeSince,
@@ -619,6 +621,16 @@ func Str2html(raw string) template.HTML {
 	return template.HTML(markup.Sanitize(raw))
 }
 
+// Md2html render Markdown text to HTML (non-sanitize)
+func Md2html(raw string) template.HTML {
+	var err error
+	var RenderedContent string
+	if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
+		return template.HTML(err.Error())
+	}
+	return template.HTML(RenderedContent)
+}
+
 // Escape escapes a HTML string
 func Escape(raw string) string {
 	return html.EscapeString(raw)
diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index f029d5cb6c7cb..0905d6d844451 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -20,13 +20,14 @@
 	{{range $.LatestCommitStatuses}}
 		<div class="ui attached segment">
 			<span>{{template "repo/commit_status" .}}</span>
-			<span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span>
+			<span class="ui">{{.Context}}</span>
 			<div class="ui right">
 				{{if $.is_context_required}}
 					{{if (call $.is_context_required .Context)}}<div class="ui label">{{$.i18n.Tr "repo.pulls.status_checks_requested"}}</div>{{end}}
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
+			<div class="ui issue-segment">{{.Description|Md2html}}</div>
 		</div>
 	{{end}}
 {{end}}
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index 1d6b65e945c53..5263488bf4d23 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1893,6 +1893,10 @@ a.ui.basic.label:hover {
   border-color: var(--color-secondary);
 }
 
+.ui.issue-segment {
+  margin-top: 1rem;
+}
+
 .ui.segments > .segment {
   border-color: var(--color-secondary);
 }

From 615028bda687ac6dfaf064763e4cf95e59d795ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Tue, 14 Dec 2021 14:50:17 +0100
Subject: [PATCH 02/26] update private key to pass tests

---
 integrations/private-testing.key | 227 ++++++++++++++-----------------
 1 file changed, 102 insertions(+), 125 deletions(-)

diff --git a/integrations/private-testing.key b/integrations/private-testing.key
index 293256a16c292..df5f95def7715 100644
--- a/integrations/private-testing.key
+++ b/integrations/private-testing.key
@@ -1,128 +1,105 @@
 -----BEGIN PGP PRIVATE KEY BLOCK-----
 
-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
-=511T
+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
+=9A2w
 -----END PGP PRIVATE KEY BLOCK-----

From 415175d97c83da8295311241dd0b47469ddd80a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Tue, 14 Dec 2021 15:06:53 +0100
Subject: [PATCH 03/26] naming, markup class

---
 templates/repo/pulls/status.tmpl | 2 +-
 web_src/less/_base.less          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index 0905d6d844451..e14e0e023f09b 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -27,7 +27,7 @@
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
-			<div class="ui issue-segment">{{.Description|Md2html}}</div>
+			<div class="ui status-segment markup">{{.Description|Md2html}}</div>
 		</div>
 	{{end}}
 {{end}}
diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index 5263488bf4d23..ac62067771d22 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1893,7 +1893,7 @@ a.ui.basic.label:hover {
   border-color: var(--color-secondary);
 }
 
-.ui.issue-segment {
+.ui.status-segment {
   margin-top: 1rem;
 }
 

From 6b75d440c7520f746f8afd5d225dfb45751e065a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Tue, 14 Dec 2021 15:15:56 +0100
Subject: [PATCH 04/26] also use markdown-supporting statuses in pop-up

---
 templates/repo/commit_statuses.tmpl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl
index d2e9f0bd16d91..77fbf76ea14ea 100644
--- a/templates/repo/commit_statuses.tmpl
+++ b/templates/repo/commit_statuses.tmpl
@@ -4,10 +4,11 @@
 		{{range .Statuses}}
 			<div class="ui item singular-status">
 				<span>{{template "repo/commit_status" .}}</span>
-				<span class="ui">{{.Context}} <span class="text grey">{{.Description}}</span></span>
+				<span class="ui">{{.Context}}</span>
 				{{if .TargetURL}}
 					<div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div>
 				{{end}}
+				<div class="ui status-segment markup">{{.Description|Md2html}}</div>
 			</div>
 		{{end}}
 	</div>

From c9e754b9e3c7f9db55ba18014fcaf675d395c4cb Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:28:48 +0100
Subject: [PATCH 05/26] Update templates/repo/commit_statuses.tmpl

Co-authored-by: silverwind <me@silverwind.io>
---
 templates/repo/commit_statuses.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl
index 77fbf76ea14ea..b4669f3424da0 100644
--- a/templates/repo/commit_statuses.tmpl
+++ b/templates/repo/commit_statuses.tmpl
@@ -8,7 +8,7 @@
 				{{if .TargetURL}}
 					<div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div>
 				{{end}}
-				<div class="ui status-segment markup">{{.Description|Md2html}}</div>
+				<div class="ui markup mt-4">{{.Description|Md2html}}</div>
 			</div>
 		{{end}}
 	</div>

From fcf972b3c2bcd845d649b83adec97267b9e9016c Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:28:53 +0100
Subject: [PATCH 06/26] Update templates/repo/pulls/status.tmpl

Co-authored-by: silverwind <me@silverwind.io>
---
 templates/repo/pulls/status.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index e14e0e023f09b..ca00562ae6a16 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -27,7 +27,7 @@
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
-			<div class="ui status-segment markup">{{.Description|Md2html}}</div>
+			<div class="ui markup mt-4">{{.Description|Md2html}}</div>
 		</div>
 	{{end}}
 {{end}}

From c4fd589db1e6fa550b5cdbd2de1f1d59c95b651f Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:29:03 +0100
Subject: [PATCH 07/26] Update web_src/less/_base.less

Co-authored-by: silverwind <me@silverwind.io>
---
 web_src/less/_base.less | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index ac62067771d22..1d6b65e945c53 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1893,10 +1893,6 @@ a.ui.basic.label:hover {
   border-color: var(--color-secondary);
 }
 
-.ui.status-segment {
-  margin-top: 1rem;
-}
-
 .ui.segments > .segment {
   border-color: var(--color-secondary);
 }

From aa587f5a27622d4d12afe069a4c267f98673d78b Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:28:48 +0100
Subject: [PATCH 08/26] Update templates/repo/commit_statuses.tmpl

Co-authored-by: silverwind <me@silverwind.io>
---
 templates/repo/commit_statuses.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl
index 77fbf76ea14ea..b4669f3424da0 100644
--- a/templates/repo/commit_statuses.tmpl
+++ b/templates/repo/commit_statuses.tmpl
@@ -8,7 +8,7 @@
 				{{if .TargetURL}}
 					<div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div>
 				{{end}}
-				<div class="ui status-segment markup">{{.Description|Md2html}}</div>
+				<div class="ui markup mt-4">{{.Description|Md2html}}</div>
 			</div>
 		{{end}}
 	</div>

From d04616063e62b91f4dd27331601c4dc970d71e79 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:28:53 +0100
Subject: [PATCH 09/26] Update templates/repo/pulls/status.tmpl

Co-authored-by: silverwind <me@silverwind.io>
---
 templates/repo/pulls/status.tmpl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index e14e0e023f09b..ca00562ae6a16 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -27,7 +27,7 @@
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
-			<div class="ui status-segment markup">{{.Description|Md2html}}</div>
+			<div class="ui markup mt-4">{{.Description|Md2html}}</div>
 		</div>
 	{{end}}
 {{end}}

From 8605af6f1c95744dca573df877f1cb627123ad40 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 01:29:03 +0100
Subject: [PATCH 10/26] Update web_src/less/_base.less

Co-authored-by: silverwind <me@silverwind.io>
---
 web_src/less/_base.less | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/web_src/less/_base.less b/web_src/less/_base.less
index ac62067771d22..1d6b65e945c53 100644
--- a/web_src/less/_base.less
+++ b/web_src/less/_base.less
@@ -1893,10 +1893,6 @@ a.ui.basic.label:hover {
   border-color: var(--color-secondary);
 }
 
-.ui.status-segment {
-  margin-top: 1rem;
-}
-
 .ui.segments > .segment {
   border-color: var(--color-secondary);
 }

From 3a0d6ef4d271972c472d7c5244792e04d9cd9ae5 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Wed, 15 Dec 2021 07:31:57 +0100
Subject: [PATCH 11/26] Update modules/templates/helper.go

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 91b643f496e0d..52397de924547 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -625,7 +625,7 @@ func Str2html(raw string) template.HTML {
 // Md2html render Markdown text to HTML (non-sanitize)
 func Md2html(raw string) template.HTML {
 	var err error
-	var RenderedContent string
+	var renderedContent string
 	if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
 		return template.HTML(err.Error())
 	}

From 46a2090bc3e76bf732dc14beccf06b6a4f994b75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Wed, 15 Dec 2021 07:50:39 +0100
Subject: [PATCH 12/26] partial suggested changes

---
 modules/templates/helper.go         | 13 +++++++------
 templates/repo/commit_statuses.tmpl |  2 +-
 templates/repo/pulls/status.tmpl    |  2 +-
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 52397de924547..7d60ed38082ba 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -98,7 +98,7 @@ func NewFuncMap() []template.FuncMap {
 		"SafeJS":        SafeJS,
 		"JSEscape":      JSEscape,
 		"Str2html":      Str2html,
-		"Md2html":       Md2html,
+		"Markdown2html": Markdown2html,
 		"TimeSince":     timeutil.TimeSince,
 		"TimeSinceUnix": timeutil.TimeSinceUnix,
 		"RawTimeSince":  timeutil.RawTimeSince,
@@ -622,14 +622,15 @@ func Str2html(raw string) template.HTML {
 	return template.HTML(markup.Sanitize(raw))
 }
 
-// Md2html render Markdown text to HTML (non-sanitize)
-func Md2html(raw string) template.HTML {
+// Markdown2html render Markdown text to HTML (non-sanitize)
+func Markdown2html(raw string) template.HTML {
 	var err error
 	var renderedContent string
-	if RenderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
-		return template.HTML(err.Error())
+	if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
+		log.Warning("Markdown2html: Invalid markdown? %v", err)
+		return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour
 	}
-	return template.HTML(RenderedContent)
+	return template.HTML(renderedContent)
 }
 
 // Escape escapes a HTML string
diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl
index b4669f3424da0..fc1e48028024b 100644
--- a/templates/repo/commit_statuses.tmpl
+++ b/templates/repo/commit_statuses.tmpl
@@ -8,7 +8,7 @@
 				{{if .TargetURL}}
 					<div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div>
 				{{end}}
-				<div class="ui markup mt-4">{{.Description|Md2html}}</div>
+				<div class="ui markup mt-4">{{.Description|Markdown2html}}</div>
 			</div>
 		{{end}}
 	</div>
diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index ca00562ae6a16..0fb8c43d69937 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -27,7 +27,7 @@
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
-			<div class="ui markup mt-4">{{.Description|Md2html}}</div>
+			<div class="ui markup mt-4">{{.Description|Markdown2html}}</div>
 		</div>
 	{{end}}
 {{end}}

From c37264d4822ecbf496ad45d4db2fa765b2587a7d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Wed, 15 Dec 2021 07:55:23 +0100
Subject: [PATCH 13/26] it actually is log.Warn

---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 7d60ed38082ba..e72b1b073a9be 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -627,7 +627,7 @@ func Markdown2html(raw string) template.HTML {
 	var err error
 	var renderedContent string
 	if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
-		log.Warning("Markdown2html: Invalid markdown? %v", err)
+		log.Warn("Markdown2html: Invalid markdown? %v", err)
 		return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour
 	}
 	return template.HTML(renderedContent)

From fda6ca33588eef61e16e9d699607bccd5f088cda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Wed, 15 Dec 2021 08:04:10 +0100
Subject: [PATCH 14/26] `template.HTML(html.EscapeString(raw))` instead of
 `template.HTML(markup.Sanitize(raw))` in `Markdown2html`

---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index e72b1b073a9be..ecc708561f980 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -628,7 +628,7 @@ func Markdown2html(raw string) template.HTML {
 	var renderedContent string
 	if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
 		log.Warn("Markdown2html: Invalid markdown? %v", err)
-		return template.HTML(markup.Sanitize(raw)) // this was gitea 1.15.* behaviour
+		return template.HTML(html.EscapeString(raw))
 	}
 	return template.HTML(renderedContent)
 }

From 22461a2ff525b87bd6cd59348d4ef1cf2582e309 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 06:19:59 +0100
Subject: [PATCH 15/26] Update helper.go

---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 67aa2c9df7122..9062cb0eb8164 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML {
 	return template.HTML(markup.Sanitize(raw))
 }
 
-// Markdown2html render Markdown text to HTML (non-sanitize)
+// Markdown2html render Markdown text to sanitized HTML
 func Markdown2html(raw string) template.HTML {
 	var err error
 	var renderedContent string

From b1d817f2efa75410e2db41f1eff6a1f0d0367e16 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 06:20:17 +0100
Subject: [PATCH 16/26] Update modules/templates/helper.go

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 9062cb0eb8164..52bbbbb487239 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -630,7 +630,7 @@ func Markdown2html(raw string) template.HTML {
 		log.Warn("Markdown2html: Invalid markdown? %v", err)
 		return template.HTML(html.EscapeString(raw))
 	}
-	return template.HTML(renderedContent)
+	return template.HTML(markup.Sanitize(renderedContent))
 }
 
 // Escape escapes a HTML string

From fc75a26199bbee8b2ffbee0d380ad1b8349cc4c0 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 17:42:36 +0100
Subject: [PATCH 17/26] Should be what @silverwind wanted, but I don't have
 working gofmt here, so it might fail on gofmt

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go         | 18 ++++++++++++------
 templates/repo/commit_statuses.tmpl |  2 +-
 templates/repo/pulls/status.tmpl    |  2 +-
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 52bbbbb487239..dd44f79fe9650 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -98,7 +98,7 @@ func NewFuncMap() []template.FuncMap {
 		"SafeJS":        SafeJS,
 		"JSEscape":      JSEscape,
 		"Str2html":      Str2html,
-		"Markdown2html": Markdown2html,
+		"RenderMarkup":  RenderMarkup,
 		"TimeSince":     timeutil.TimeSince,
 		"TimeSinceUnix": timeutil.TimeSinceUnix,
 		"RawTimeSince":  timeutil.RawTimeSince,
@@ -623,14 +623,20 @@ func Str2html(raw string) template.HTML {
 }
 
 // Markdown2html render Markdown text to sanitized HTML
-func Markdown2html(raw string) template.HTML {
+func RenderMarkup(Type string, raw string) template.HTML {
 	var err error
 	var renderedContent string
-	if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
-		log.Warn("Markdown2html: Invalid markdown? %v", err)
-		return template.HTML(html.EscapeString(raw))
+
+	if Type == "markdown" {
+		if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
+			log.Warn("Markdown2html: Invalid markdown? %v", err)
+			return template.HTML(html.EscapeString(raw))
+		}
+	} else if Type == "markup" {
+		return template.HTML(markup.Sanitize(renderedContent))
 	}
-	return template.HTML(markup.Sanitize(renderedContent))
+
+	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, Type))
 }
 
 // Escape escapes a HTML string
diff --git a/templates/repo/commit_statuses.tmpl b/templates/repo/commit_statuses.tmpl
index fc1e48028024b..7e7cab8d55c53 100644
--- a/templates/repo/commit_statuses.tmpl
+++ b/templates/repo/commit_statuses.tmpl
@@ -8,7 +8,7 @@
 				{{if .TargetURL}}
 					<div class="ui right"><a href="{{.TargetURL}}" target="_blank" rel="noopener noreferrer">{{$.root.i18n.Tr "repo.pulls.status_checks_details"}}</a></div>
 				{{end}}
-				<div class="ui markup mt-4">{{.Description|Markdown2html}}</div>
+				<div class="ui markup mt-4">{{RenderMarkup "markdown" .Description}}</div>
 			</div>
 		{{end}}
 	</div>
diff --git a/templates/repo/pulls/status.tmpl b/templates/repo/pulls/status.tmpl
index 0fb8c43d69937..e41e5cb5fe5de 100644
--- a/templates/repo/pulls/status.tmpl
+++ b/templates/repo/pulls/status.tmpl
@@ -27,7 +27,7 @@
 				{{end}}
 				<span class="ui">{{if .TargetURL}}<a href="{{.TargetURL}}">{{$.i18n.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
 			</div>
-			<div class="ui markup mt-4">{{.Description|Markdown2html}}</div>
+			<div class="ui markup mt-4">{{RenderMarkup "markdown" .Description}}</div>
 		</div>
 	{{end}}
 {{end}}

From 06246765f43845a46c4fabb4eafa0d22c4c7a433 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 17:48:31 +0100
Subject: [PATCH 18/26] forgot to `save` before `commit`

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index dd44f79fe9650..80fa7ce5e0e39 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -632,7 +632,12 @@ func RenderMarkup(Type string, raw string) template.HTML {
 			log.Warn("Markdown2html: Invalid markdown? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
+		return template.HTML(markup.Sanitize(renderedContent))
 	} else if Type == "markup" {
+		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
+			log.Warn("Markdown2html: Invalid markup? %v", err)
+			return template.HTML(html.EscapeString(raw))
+		}
 		return template.HTML(markup.Sanitize(renderedContent))
 	}
 

From 017a60963e09812bedb02144cd392af55ca2d90b Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 17:50:41 +0100
Subject: [PATCH 19/26] go please... these are comments, not code

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 80fa7ce5e0e39..a1647de48562c 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML {
 	return template.HTML(markup.Sanitize(raw))
 }
 
-// Markdown2html render Markdown text to sanitized HTML
+// RenderMarkup render Markdown text to sanitized HTML
 func RenderMarkup(Type string, raw string) template.HTML {
 	var err error
 	var renderedContent string

From 72b83ff8a3feb72b23972e4a017a0f173d466ab9 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 17:52:51 +0100
Subject: [PATCH 20/26] fixed comment again

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index a1647de48562c..c965de3447ae8 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -622,7 +622,7 @@ func Str2html(raw string) template.HTML {
 	return template.HTML(markup.Sanitize(raw))
 }
 
-// RenderMarkup render Markdown text to sanitized HTML
+// RenderMarkup render markdown/markup specified in type to sanitized HTML
 func RenderMarkup(Type string, raw string) template.HTML {
 	var err error
 	var renderedContent string

From c1d1d4ab90b14b12b1a1a4bca4bc1389d58ba4cb Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 18:07:27 +0100
Subject: [PATCH 21/26] `markupType` instead of `Type`

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index c965de3447ae8..589bd0a343e6d 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -623,17 +623,17 @@ func Str2html(raw string) template.HTML {
 }
 
 // RenderMarkup render markdown/markup specified in type to sanitized HTML
-func RenderMarkup(Type string, raw string) template.HTML {
+func RenderMarkup(markupType string, raw string) template.HTML {
 	var err error
 	var renderedContent string
 
-	if Type == "markdown" {
+	if markupType == "markdown" {
 		if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markdown? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
 		return template.HTML(markup.Sanitize(renderedContent))
-	} else if Type == "markup" {
+	} else if markupType == "markup" {
 		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markup? %v", err)
 			return template.HTML(html.EscapeString(raw))
@@ -641,7 +641,7 @@ func RenderMarkup(Type string, raw string) template.HTML {
 		return template.HTML(markup.Sanitize(renderedContent))
 	}
 
-	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, Type))
+	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType))
 }
 
 // Escape escapes a HTML string

From 52124b74493ee2136da3086ffd35c131e32a7040 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 19:25:39 +0100
Subject: [PATCH 22/26] it was meant to be `raw`

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 589bd0a343e6d..d751f64b0d26e 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -632,13 +632,13 @@ func RenderMarkup(markupType string, raw string) template.HTML {
 			log.Warn("Markdown2html: Invalid markdown? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
-		return template.HTML(markup.Sanitize(renderedContent))
+		return template.HTML(markup.Sanitize(raw))
 	} else if markupType == "markup" {
 		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markup? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
-		return template.HTML(markup.Sanitize(renderedContent))
+		return template.HTML(markup.Sanitize(raw))
 	}
 
 	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType))

From 7c401a3bf1c2fdfabfd0696fdf4fe2dd5ee8b3b8 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 19:38:54 +0100
Subject: [PATCH 23/26] but not that much `raw`

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index d751f64b0d26e..38eb5a6e89763 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -630,13 +630,13 @@ func RenderMarkup(markupType string, raw string) template.HTML {
 	if markupType == "markdown" {
 		if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markdown? %v", err)
-			return template.HTML(html.EscapeString(raw))
+			return template.HTML(html.EscapeString(renderedContent))
 		}
 		return template.HTML(markup.Sanitize(raw))
 	} else if markupType == "markup" {
 		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markup? %v", err)
-			return template.HTML(html.EscapeString(raw))
+			return template.HTML(html.EscapeString(renderedContent))
 		}
 		return template.HTML(markup.Sanitize(raw))
 	}

From 252cfe255661b1233daed28667c74f8d3c6d6b32 Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Thu, 16 Dec 2021 19:40:23 +0100
Subject: [PATCH 24/26] ok, now i think i got that right, if error, then raw,
 else rendered

Co-Authored-By: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 38eb5a6e89763..589bd0a343e6d 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -630,15 +630,15 @@ func RenderMarkup(markupType string, raw string) template.HTML {
 	if markupType == "markdown" {
 		if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markdown? %v", err)
-			return template.HTML(html.EscapeString(renderedContent))
+			return template.HTML(html.EscapeString(raw))
 		}
-		return template.HTML(markup.Sanitize(raw))
+		return template.HTML(markup.Sanitize(renderedContent))
 	} else if markupType == "markup" {
 		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
 			log.Warn("Markdown2html: Invalid markup? %v", err)
-			return template.HTML(html.EscapeString(renderedContent))
+			return template.HTML(html.EscapeString(raw))
 		}
-		return template.HTML(markup.Sanitize(raw))
+		return template.HTML(markup.Sanitize(renderedContent))
 	}
 
 	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType))

From 585dfe54a77547957e3a9fda6cbd5333dfeae68a Mon Sep 17 00:00:00 2001
From: Caellion <administrator@michalpol.pl>
Date: Fri, 17 Dec 2021 15:11:32 +0100
Subject: [PATCH 25/26] Apply suggestions from code review

Co-authored-by: silverwind <me@silverwind.io>
---
 modules/templates/helper.go | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 589bd0a343e6d..4dc8a9ca9830b 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -629,19 +629,19 @@ func RenderMarkup(markupType string, raw string) template.HTML {
 
 	if markupType == "markdown" {
 		if renderedContent, err = markdown.RenderString(&markup.RenderContext{}, raw); err != nil {
-			log.Warn("Markdown2html: Invalid markdown? %v", err)
+			log.Warn("RenderMarkup: Invalid markdown? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
 		return template.HTML(markup.Sanitize(renderedContent))
 	} else if markupType == "markup" {
 		if renderedContent, err = markup.RenderString(&markup.RenderContext{}, raw); err != nil {
-			log.Warn("Markdown2html: Invalid markup? %v", err)
+			log.Warn("RenderMarkup: Invalid markup? %v", err)
 			return template.HTML(html.EscapeString(raw))
 		}
 		return template.HTML(markup.Sanitize(renderedContent))
 	}
 
-	return template.HTML(fmt.Sprintf(`Unsupported markup: :%s:`, markupType))
+	return template.HTML(fmt.Sprintf(`RenderMarkup: Unsupported markup type: %s`, markupType))
 }
 
 // Escape escapes a HTML string

From 182d358c7f192d304426ff0f70494db4254b1846 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20Kujawa?= <michal.kujawa@utal.pl>
Date: Wed, 2 Feb 2022 08:29:27 +0100
Subject: [PATCH 26/26] gofumpt

---
 modules/templates/helper.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index ebc219b29dfe0..511510c99aee3 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -625,7 +625,7 @@ func Str2html(raw string) template.HTML {
 }
 
 // RenderMarkup render markdown/markup specified in type to sanitized HTML
-func RenderMarkup(markupType string, raw string) template.HTML {
+func RenderMarkup(markupType, raw string) template.HTML {
 	var err error
 	var renderedContent string