From 2dd2c4f568c9422aabd69d395b53ebecf29f467a Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Fri, 9 Jan 2026 22:15:50 +0900 Subject: [PATCH] Deprecate helpers.markdown() (#3913) --- .../core/controller/IssuesController.scala | 4 ++ .../RepositoryViewerController.scala | 40 +++++++------------ .../ApiRepositoryContentsControllerBase.scala | 12 +++++- .../gitbucket/core/plugin/Renderer.scala | 8 ++-- .../scala/gitbucket/core/view/helpers.scala | 5 +++ .../core/helper/commitcomment.scala.html | 2 + .../core/issues/commentlist.scala.html | 14 +++++-- .../gitbucket/core/issues/issue.scala.html | 2 +- .../twirl/gitbucket/core/repo/blob.scala.html | 13 +++++- .../gitbucket/core/repo/files.scala.html | 2 +- .../twirl/gitbucket/core/wiki/page.scala.html | 12 ++++-- 11 files changed, 75 insertions(+), 39 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/IssuesController.scala b/src/main/scala/gitbucket/core/controller/IssuesController.scala index 7975b843b..788227fcb 100644 --- a/src/main/scala/gitbucket/core/controller/IssuesController.scala +++ b/src/main/scala/gitbucket/core/controller/IssuesController.scala @@ -279,6 +279,8 @@ trait IssuesControllerBase extends ControllerBase { enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = true ) .toString() @@ -311,6 +313,8 @@ trait IssuesControllerBase extends ControllerBase { enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = true ) .toString() diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 1ed0b1093..5bd963464 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -169,31 +169,19 @@ trait RepositoryViewerControllerBase extends ControllerBase { */ post("/:owner/:repository/_preview")(referrersOnly { repository => contentType = "text/html" - val filename = params.get("filename") - filename match { - case Some(f) => - helpers.renderMarkup( - filePath = f.split("/").toList, - fileContent = params("content"), - branch = repository.repository.defaultBranch, - repository = repository, - enableWikiLink = params("enableWikiLink").toBoolean, - enableRefsLink = params("enableRefsLink").toBoolean, - enableAnchor = false - ) - case None => - helpers.markdown( - markdown = params("content"), - repository = repository, - branch = repository.repository.defaultBranch, - enableWikiLink = params("enableWikiLink").toBoolean, - enableRefsLink = params("enableRefsLink").toBoolean, - enableLineBreaks = params("enableLineBreaks").toBoolean, - enableTaskList = params("enableTaskList").toBoolean, - enableAnchor = false, - hasWritePermission = hasDeveloperRole(repository.owner, repository.name, context.loginAccount) - ) - } + val filename = params.get("filename").getOrElse("temporary.md") + helpers.renderMarkup( + filePath = filename.split("/").toList, + fileContent = params("content"), + branch = repository.repository.defaultBranch, + repository = repository, + enableWikiLink = params("enableWikiLink").toBoolean, + enableRefsLink = params("enableRefsLink").toBoolean, + enableLineBreaks = params("enableLineBreaks").toBoolean, + enableTaskList = params("enableTaskList").toBoolean, + enableAnchor = false, + hasWritePermission = hasDeveloperRole(repository.owner, repository.name, context.loginAccount) + ) }) /** @@ -905,6 +893,8 @@ trait RepositoryViewerControllerBase extends ControllerBase { enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = true ) .toString() diff --git a/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala b/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala index 847beff3e..27b093f3a 100644 --- a/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala +++ b/src/main/scala/gitbucket/core/controller/api/ApiRepositoryContentsControllerBase.scala @@ -90,7 +90,17 @@ trait ApiRepositoryContentsControllerBase extends ControllerBase { path, "\" id=\"file\">", "
", - renderMarkup(path.split("/").toList, new String(c), refStr, repository, false, false, true).body, + renderMarkup( + filePath = path.split("/").toList, + fileContent = new String(c), + branch = refStr, + repository = repository, + enableWikiLink = false, + enableRefsLink = false, + enableAnchor = false, + enableLineBreaks = true, + enableTaskList = true + ).body, "
", "" ).mkString diff --git a/src/main/scala/gitbucket/core/plugin/Renderer.scala b/src/main/scala/gitbucket/core/plugin/Renderer.scala index 58726077d..c3692a60a 100644 --- a/src/main/scala/gitbucket/core/plugin/Renderer.scala +++ b/src/main/scala/gitbucket/core/plugin/Renderer.scala @@ -20,7 +20,7 @@ trait Renderer { object MarkdownRenderer extends Renderer { override def render(request: RenderRequest): Html = { - import request._ + import request.* Html( Markdown.toHtml( markdown = fileContent, @@ -29,8 +29,8 @@ object MarkdownRenderer extends Renderer { enableWikiLink = enableWikiLink, enableRefsLink = enableRefsLink, enableAnchor = enableAnchor, - enableLineBreaks = false, - enableTaskList = true, + enableLineBreaks = enableLineBreaks, + enableTaskList = enableTaskList, hasWritePermission = hasWritePermission )(context) ) @@ -51,6 +51,8 @@ case class RenderRequest( enableWikiLink: Boolean, enableRefsLink: Boolean, enableAnchor: Boolean, + enableLineBreaks: Boolean, + enableTaskList: Boolean, hasWritePermission: Boolean, context: Context ) diff --git a/src/main/scala/gitbucket/core/view/helpers.scala b/src/main/scala/gitbucket/core/view/helpers.scala index 88d118948..bcf33077a 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -101,6 +101,7 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache /** * Converts Markdown of Wiki pages to HTML. */ + @deprecated("This doesn't apply render plugins. Should use renderMarkup() instead.", "4.45.0") def markdown( markdown: String, repository: RepositoryService.RepositoryInfo, @@ -140,6 +141,8 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache enableWikiLink: Boolean, enableRefsLink: Boolean, enableAnchor: Boolean, + enableLineBreaks: Boolean, + enableTaskList: Boolean, hasWritePermission: Boolean = false )(implicit context: Context): Html = { @@ -155,6 +158,8 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache enableWikiLink, enableRefsLink, enableAnchor, + enableLineBreaks, + enableTaskList, hasWritePermission, context ) diff --git a/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html b/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html index ecb4e73fe..d27eb3c0a 100644 --- a/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html +++ b/src/main/twirl/gitbucket/core/helper/commitcomment.scala.html @@ -29,6 +29,8 @@ enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = hasWritePermission ) diff --git a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html index cbcd64578..5a97f5d57 100644 --- a/src/main/twirl/gitbucket/core/issues/commentlist.scala.html +++ b/src/main/twirl/gitbucket/core/issues/commentlist.scala.html @@ -24,7 +24,7 @@ @if(comment.action != "commit" && comment.action != "merge" && comment.action != "refer" - && (isManageable || context.loginAccount.map(_.userName == comment.commentedUserName).getOrElse(false))){ + && (isManageable || context.loginAccount.exists(_.userName == comment.commentedUserName))){   @@ -40,6 +40,8 @@ enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable ) @@ -52,7 +54,7 @@ @helpers.user(issue.get.openedUserName, styleClass="username strong") commented @gitbucket.core.helper.html.datetimeago(issue.get.registeredDate) - @if(isManageable || context.loginAccount.map(_.userName == issue.get.openedUserName).getOrElse(false)){ + @if(isManageable || context.loginAccount.exists(_.userName == issue.get.openedUserName)){ } @@ -66,6 +68,8 @@ enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable ) @@ -339,6 +343,8 @@ enableWikiLink = false, enableRefsLink = true, enableAnchor = true, + enableLineBreaks = true, + enableTaskList = true, hasWritePermission = isManageable ) @@ -400,7 +406,7 @@ $(function(){ // diff view const tr = comment.closest('.not-diff'); if(tr.length > 0){ - if(tr.prev('.not-diff').length == 0){ + if(tr.prev('.not-diff').length === 0){ tr.next('.not-diff:has(.reply-comment)').remove(); } tr.remove(); @@ -410,7 +416,7 @@ $(function(){ const panel = comment.closest('div.panel:has(.commit-comment-box)'); if(panel.length > 0){ comment.parent('.commit-comment-box').remove(); - if(panel.has('.commit-comment-box').length == 0){ + if(panel.has('.commit-comment-box').length === 0){ panel.remove(); } } else { diff --git a/src/main/twirl/gitbucket/core/issues/issue.scala.html b/src/main/twirl/gitbucket/core/issues/issue.scala.html index 721713549..88829c294 100644 --- a/src/main/twirl/gitbucket/core/issues/issue.scala.html +++ b/src/main/twirl/gitbucket/core/issues/issue.scala.html @@ -16,7 +16,7 @@ @gitbucket.core.html.menu("issues", repository){
- @if(isManageable || context.loginAccount.map(_.userName == issue.openedUserName).getOrElse(false)){ + @if(isManageable || context.loginAccount.exists(_.userName == issue.openedUserName)){ Edit } @if(isEditable){ diff --git a/src/main/twirl/gitbucket/core/repo/blob.scala.html b/src/main/twirl/gitbucket/core/repo/blob.scala.html index 5387a56c4..981dbf750 100644 --- a/src/main/twirl/gitbucket/core/repo/blob.scala.html +++ b/src/main/twirl/gitbucket/core/repo/blob.scala.html @@ -83,7 +83,18 @@ @defining(helpers.isRenderable(pathList.last)){ isRenderable => @if(!isBlame && isRenderable) {
- @helpers.renderMarkup(pathList, content.content.getOrElse(""), branch, repository, false, false, true, hasWritePermission) + @helpers.renderMarkup( + filePath = pathList, + fileContent = content.content.getOrElse(""), + branch = branch, + repository = repository, + enableWikiLink = false, + enableRefsLink = false, + enableAnchor = true, + enableLineBreaks = false, + enableTaskList = true, + hasWritePermission = hasWritePermission + )
}else{ @if(content.viewType == "text"){ diff --git a/src/main/twirl/gitbucket/core/repo/files.scala.html b/src/main/twirl/gitbucket/core/repo/files.scala.html index b0fbae93c..39c982f1f 100644 --- a/src/main/twirl/gitbucket/core/repo/files.scala.html +++ b/src/main/twirl/gitbucket/core/repo/files.scala.html @@ -220,7 +220,7 @@ }
-
@helpers.renderMarkup(filePath, content, branch, repository, false, false, true)
+
@helpers.renderMarkup(filePath, content, branch, repository, false, false, false, true, true)
} } } diff --git a/src/main/twirl/gitbucket/core/wiki/page.scala.html b/src/main/twirl/gitbucket/core/wiki/page.scala.html index c60683cbd..494534935 100644 --- a/src/main/twirl/gitbucket/core/wiki/page.scala.html +++ b/src/main/twirl/gitbucket/core/wiki/page.scala.html @@ -66,7 +66,9 @@ repository = repository, enableWikiLink = true, enableRefsLink = false, - enableAnchor = false + enableAnchor = false, + enableLineBreaks = false, + enableTaskList = false ) }.getOrElse{ @@ -97,7 +99,9 @@ repository = repository, enableWikiLink = true, enableRefsLink = false, - enableAnchor = true + enableAnchor = true, + enableLineBreaks = false, + enableTaskList = false ) @footer.map { footerPage => @@ -112,7 +116,9 @@ repository = repository, enableWikiLink = true, enableRefsLink = false, - enableAnchor = false + enableAnchor = false, + enableLineBreaks = false, + enableTaskList = false ) }.getOrElse{