diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 2e63b17..155204b 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -111,6 +111,7 @@ enableRefsLink = params("enableRefsLink").toBoolean, enableLineBreaks = params("enableLineBreaks").toBoolean, enableTaskList = params("enableTaskList").toBoolean, + enableAnchor = false, hasWritePermission = hasWritePermission(repository.owner, repository.name, context.loginAccount) ) }) diff --git a/src/main/scala/gitbucket/core/view/Markdown.scala b/src/main/scala/gitbucket/core/view/Markdown.scala index 2d78546..99b5ca0 100644 --- a/src/main/scala/gitbucket/core/view/Markdown.scala +++ b/src/main/scala/gitbucket/core/view/Markdown.scala @@ -39,22 +39,28 @@ } else markdown // escape task list - val source = if(enableTaskList){ - escapeTaskList(s) - } else s + val source = if(enableTaskList) escapeTaskList(s) else s val options = new Options() options.setSanitize(true) options.setBreaks(enableLineBreaks) - val renderer = new GitBucketMarkedRenderer(options, repository, enableWikiLink, enableRefsLink, enableAnchor, enableTaskList, hasWritePermission, pages) + + val renderer = new GitBucketMarkedRenderer(options, repository, + enableWikiLink, enableRefsLink, enableAnchor, enableTaskList, hasWritePermission, pages) + Marked.marked(source, options, renderer) } /** * Extends markedj Renderer for GitBucket */ - class GitBucketMarkedRenderer(options: Options, repository: RepositoryService.RepositoryInfo, - enableWikiLink: Boolean, enableRefsLink: Boolean, enableAnchor: Boolean, enableTaskList: Boolean, hasWritePermission: Boolean, + class GitBucketMarkedRenderer(options: Options, + repository: RepositoryService.RepositoryInfo, + enableWikiLink: Boolean, + enableRefsLink: Boolean, + enableAnchor: Boolean, + enableTaskList: Boolean, + hasWritePermission: Boolean, pages: List[String]) (implicit val context: Context) extends Renderer(options) with LinkConverter with RequestCache { @@ -62,11 +68,14 @@ val id = generateAnchorName(text) val out = new StringBuilder() - out.append("") + out.append("") out.append("") out.append("") + } else { + out.append(">") } out.append(text) @@ -83,22 +92,21 @@ var listType: String = null if (ordered) { listType = "ol" - } - else { + } else { listType = "ul" } if(body.contains("""class="task-list-item-checkbox"""")){ - return "<" + listType + " class=\"task-list\">\n" + body + "\n" + "<" + listType + " class=\"task-list\">\n" + body + "\n" } else { - return "<" + listType + ">\n" + body + "\n" + "<" + listType + ">\n" + body + "\n" } } override def listitem(text: String): String = { if(text.contains("""class="task-list-item-checkbox" """)){ - return "
  • " + text + "
  • \n" + "
  • " + text + "
  • \n" } else { - return "
  • " + text + "
  • \n" + "
  • " + text + "
  • \n" } } diff --git a/src/main/scala/gitbucket/core/view/helpers.scala b/src/main/scala/gitbucket/core/view/helpers.scala index 69418fc..a09edcb 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -89,6 +89,7 @@ enableWikiLink: Boolean, enableRefsLink: Boolean, enableLineBreaks: Boolean, + enableAnchor: Boolean = true, enableTaskList: Boolean = false, hasWritePermission: Boolean = false, pages: List[String] = Nil)(implicit context: Context): Html = @@ -97,7 +98,7 @@ repository = repository, enableWikiLink = enableWikiLink, enableRefsLink = enableRefsLink, - enableAnchor = true, + enableAnchor = enableAnchor, enableLineBreaks = enableLineBreaks, enableTaskList = enableTaskList, hasWritePermission = hasWritePermission, diff --git a/src/main/webapp/assets/common/css/gitbucket.css b/src/main/webapp/assets/common/css/gitbucket.css index 4215dea..0ca47fc 100644 --- a/src/main/webapp/assets/common/css/gitbucket.css +++ b/src/main/webapp/assets/common/css/gitbucket.css @@ -1718,28 +1718,34 @@ border-bottom: 1px solid #ddd; font-size: 2.5em; font-weight: bold; + line-height: 1.7; } div.markdown-body h2 { border-bottom: 1px solid #eee; font-size: 2em; + line-height: 1.7; } div.markdown-body h3 { font-size: 1.5em; + line-height: 1.7; } div.markdown-body h4 { font-size: 1.2em; + line-height: 1.7; } div.markdown-body h5 { font-size: 1em; + line-height: 1.7; } div.markdown-body h6 { color:#777; font-size: 1em; + line-height: 1.7; } div.markdown-body li { @@ -1905,7 +1911,6 @@ .markdown-head { position: relative; - line-height: 1.7; } a.markdown-anchor-link {