From 9b3e8bd22bf6c39c08a9f0d8b04ee8ffec60e0ad Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Sat, 16 Jan 2016 22:00:29 +0900 Subject: [PATCH] Fix Markdown preview style However styles in markdown-body affect tab. So there are invalid margin at the top of the tab. --- .../RepositoryViewerController.scala | 1 + .../scala/gitbucket/core/view/Markdown.scala | 34 ++++++++++++------- .../scala/gitbucket/core/view/helpers.scala | 3 +- .../webapp/assets/common/css/gitbucket.css | 7 +++- 4 files changed, 30 insertions(+), 15 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala index 2e63b1746..155204b84 100644 --- a/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala +++ b/src/main/scala/gitbucket/core/controller/RepositoryViewerController.scala @@ -111,6 +111,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { 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 2d7854682..99b5ca086 100644 --- a/src/main/scala/gitbucket/core/view/Markdown.scala +++ b/src/main/scala/gitbucket/core/view/Markdown.scala @@ -39,22 +39,28 @@ object Markdown { } 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 @@ object Markdown { 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 @@ object Markdown { 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 69418fc4c..a09edcbd7 100644 --- a/src/main/scala/gitbucket/core/view/helpers.scala +++ b/src/main/scala/gitbucket/core/view/helpers.scala @@ -89,6 +89,7 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache 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 @@ object helpers extends AvatarImageProvider with LinkConverter with RequestCache 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 4215dea4f..0ca47fc0b 100644 --- a/src/main/webapp/assets/common/css/gitbucket.css +++ b/src/main/webapp/assets/common/css/gitbucket.css @@ -1718,28 +1718,34 @@ div.markdown-body h1 { 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 @@ div.markdown-body table colgroup + tbody tr:first-child td:last-child { .markdown-head { position: relative; - line-height: 1.7; } a.markdown-anchor-link {