diff --git a/src/main/scala/gitbucket/core/view/Markdown.scala b/src/main/scala/gitbucket/core/view/Markdown.scala
index 3cb387f..763d4de 100644
--- a/src/main/scala/gitbucket/core/view/Markdown.scala
+++ b/src/main/scala/gitbucket/core/view/Markdown.scala
@@ -113,8 +113,8 @@
repository: RepositoryService.RepositoryInfo,
enableWikiLink: Boolean,
enableRefsLink: Boolean,
- enableTaskList: Boolean,
enableAnchor: Boolean,
+ enableTaskList: Boolean,
hasWritePermission: Boolean,
pages: List[String]
)(implicit val context: Context) extends ToHtmlSerializer(
@@ -164,14 +164,22 @@
private def printHeaderTag(node: HeaderNode): Unit = {
val tag = s"h${node.getLevel}"
- val headerTextString = printChildrenToString(node)
- val anchorName = GitBucketHtmlSerializer.generateAnchorName(headerTextString)
+ val child = node.getChildren.asScala.headOption
+ val anchorName = child match {
+ case Some(x: AnchorLinkNode) => x.getName
+ case Some(x: TextNode) => x.getText // TODO
+ case _ => GitBucketHtmlSerializer.generateAnchorName(printChildrenToString(node))
+ }
+
printer.print(s"""<$tag class="markdown-head">""")
if(enableAnchor){
printer.print(s"""""")
printer.print(s"""""")
}
- visitChildren(node)
+ child match {
+ case Some(x: AnchorLinkNode) => printer.print(x.getText)
+ case _ => visitChildren(node)
+ }
printer.print(s"$tag>")
}