From a6175b01d92a75dcbadbbfc6782a486636fd62a2 Mon Sep 17 00:00:00 2001 From: Zettat123 Date: Fri, 24 Feb 2023 14:36:07 +0800 Subject: [PATCH] Fix nil context in RenderMarkdownToHtml (#23092) Fix #23082. This bug is caused by a nil context in https://github.com/go-gitea/gitea/issues/23082#issuecomment-1441276546 . --------- Co-authored-by: Lunny Xiao --- modules/templates/helper.go | 3 ++- templates/package/content/cargo.tmpl | 2 +- templates/package/content/chef.tmpl | 2 +- templates/package/content/npm.tmpl | 2 +- templates/package/content/pub.tmpl | 2 +- templates/package/content/pypi.tmpl | 4 ++-- templates/repo/issue/comment_tab.tmpl | 10 +++++----- templates/repo/issue/fields/checkboxes.tmpl | 2 +- templates/repo/issue/fields/dropdown.tmpl | 6 +++--- templates/repo/issue/fields/header.tmpl | 8 ++++---- templates/repo/issue/fields/input.tmpl | 2 +- templates/repo/issue/fields/markdown.tmpl | 2 +- templates/repo/issue/fields/textarea.tmpl | 2 +- 13 files changed, 24 insertions(+), 23 deletions(-) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 4ffd0a5dee..b7bd07670c 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -174,8 +174,9 @@ func NewFuncMap() []template.FuncMap { "RenderEmojiPlain": emoji.ReplaceAliases, "ReactionToEmoji": ReactionToEmoji, "RenderNote": RenderNote, - "RenderMarkdownToHtml": func(input string) template.HTML { + "RenderMarkdownToHtml": func(ctx context.Context, input string) template.HTML { output, err := markdown.RenderString(&markup.RenderContext{ + Ctx: ctx, URLPrefix: setting.AppSubURL, }, input) if err != nil { diff --git a/templates/package/content/cargo.tmpl b/templates/package/content/cargo.tmpl index f78647ca69..410a81d901 100644 --- a/templates/package/content/cargo.tmpl +++ b/templates/package/content/cargo.tmpl @@ -26,7 +26,7 @@ git-fetch-with-cli = true {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Readme}}

{{.locale.Tr "packages.about"}}

{{if .PackageDescriptor.Metadata.Description}}
{{.PackageDescriptor.Metadata.Description}}
{{end}} - {{if .PackageDescriptor.Metadata.Readme}}
{{RenderMarkdownToHtml .PackageDescriptor.Metadata.Readme}}
{{end}} + {{if .PackageDescriptor.Metadata.Readme}}
{{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
{{end}} {{end}} {{if .PackageDescriptor.Metadata.Dependencies}} diff --git a/templates/package/content/chef.tmpl b/templates/package/content/chef.tmpl index edc175f9be..d80ecdf403 100644 --- a/templates/package/content/chef.tmpl +++ b/templates/package/content/chef.tmpl @@ -20,7 +20,7 @@

{{.locale.Tr "packages.about"}}

{{if .PackageDescriptor.Metadata.Description}}

{{.PackageDescriptor.Metadata.Description}}

{{end}} - {{if .PackageDescriptor.Metadata.LongDescription}}{{RenderMarkdownToHtml .PackageDescriptor.Metadata.LongDescription}}{{end}} + {{if .PackageDescriptor.Metadata.LongDescription}}{{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.LongDescription}}{{end}}
{{end}} diff --git a/templates/package/content/npm.tmpl b/templates/package/content/npm.tmpl index ea514c5263..d0c037b38a 100644 --- a/templates/package/content/npm.tmpl +++ b/templates/package/content/npm.tmpl @@ -25,7 +25,7 @@
{{if .PackageDescriptor.Metadata.Readme}}
- {{RenderMarkdownToHtml .PackageDescriptor.Metadata.Readme}} + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
{{else if .PackageDescriptor.Metadata.Description}} {{.PackageDescriptor.Metadata.Description}} diff --git a/templates/package/content/pub.tmpl b/templates/package/content/pub.tmpl index e81439d4da..d5676fca5a 100644 --- a/templates/package/content/pub.tmpl +++ b/templates/package/content/pub.tmpl @@ -14,6 +14,6 @@ {{if or .PackageDescriptor.Metadata.Description .PackageDescriptor.Metadata.Readme}}

{{.locale.Tr "packages.about"}}

{{if .PackageDescriptor.Metadata.Description}}
{{.PackageDescriptor.Metadata.Description}}
{{end}} - {{if .PackageDescriptor.Metadata.Readme}}
{{RenderMarkdownToHtml .PackageDescriptor.Metadata.Readme}}
{{end}} + {{if .PackageDescriptor.Metadata.Readme}}
{{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Readme}}
{{end}} {{end}} {{end}} diff --git a/templates/package/content/pypi.tmpl b/templates/package/content/pypi.tmpl index 830ba9bd67..8dbed5395e 100644 --- a/templates/package/content/pypi.tmpl +++ b/templates/package/content/pypi.tmpl @@ -16,9 +16,9 @@

{{if .PackageDescriptor.Metadata.Summary}}{{.PackageDescriptor.Metadata.Summary}}{{end}}

{{if .PackageDescriptor.Metadata.LongDescription}} - {{RenderMarkdownToHtml .PackageDescriptor.Metadata.LongDescription}} + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.LongDescription}} {{else if .PackageDescriptor.Metadata.Description}} - {{RenderMarkdownToHtml .PackageDescriptor.Metadata.Description}} + {{RenderMarkdownToHtml $.Context .PackageDescriptor.Metadata.Description}} {{end}}
{{end}} diff --git a/templates/repo/issue/comment_tab.tmpl b/templates/repo/issue/comment_tab.tmpl index 86efa8c833..b04a3c6bbb 100644 --- a/templates/repo/issue/comment_tab.tmpl +++ b/templates/repo/issue/comment_tab.tmpl @@ -2,15 +2,15 @@ {{range .Fields}} {{if eq .Type "input"}} - {{template "repo/issue/fields/input" .}} + {{template "repo/issue/fields/input" Dict "Context" $.Context "item" .}} {{else if eq .Type "markdown"}} - {{template "repo/issue/fields/markdown" .}} + {{template "repo/issue/fields/markdown" Dict "Context" $.Context "item" .}} {{else if eq .Type "textarea"}} - {{template "repo/issue/fields/textarea" .}} + {{template "repo/issue/fields/textarea" Dict "Context" $.Context "item" .}} {{else if eq .Type "dropdown"}} - {{template "repo/issue/fields/dropdown" .}} + {{template "repo/issue/fields/dropdown" Dict "Context" $.Context "item" .}} {{else if eq .Type "checkboxes"}} - {{template "repo/issue/fields/checkboxes" .}} + {{template "repo/issue/fields/checkboxes" Dict "Context" $.Context "item" .}} {{end}} {{end}} {{else}} diff --git a/templates/repo/issue/fields/checkboxes.tmpl b/templates/repo/issue/fields/checkboxes.tmpl index b70334681f..80835b649a 100644 --- a/templates/repo/issue/fields/checkboxes.tmpl +++ b/templates/repo/issue/fields/checkboxes.tmpl @@ -1,7 +1,7 @@
{{template "repo/issue/fields/header" .}} {{$field := .}} - {{range $i, $opt := .Attributes.options}} + {{range $i, $opt := .item.Attributes.options}}
diff --git a/templates/repo/issue/fields/dropdown.tmpl b/templates/repo/issue/fields/dropdown.tmpl index 83c2bb4aac..9adce5602f 100644 --- a/templates/repo/issue/fields/dropdown.tmpl +++ b/templates/repo/issue/fields/dropdown.tmpl @@ -1,12 +1,12 @@
{{template "repo/issue/fields/header" .}} {{/* FIXME: required validation */}} -