From 423e7ee17c2cb28d4a34b91231560eff0656ffc0 Mon Sep 17 00:00:00 2001 From: Błażej Kardyś Date: Thu, 23 Apr 2020 23:26:36 +0200 Subject: Fixing GFM components display --- .../pages/comments/DocTagToContentConverter.kt | 35 +++++++++++++++++++--- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'plugins/base/src/main/kotlin/transformers') diff --git a/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt b/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt index 2eb63504..4e65bae9 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt @@ -3,7 +3,6 @@ package org.jetbrains.dokka.base.transformers.pages.comments import org.jetbrains.dokka.model.doc.* import org.jetbrains.dokka.model.properties.PropertyContainer import org.jetbrains.dokka.pages.* -import org.jetbrains.dokka.plugability.DokkaContext object DocTagToContentConverter : CommentsToContentConverter { override fun buildContent( @@ -19,6 +18,11 @@ object DocTagToContentConverter : CommentsToContentConverter { buildContent(it, dci, platforms, styles + newStyles, newExtras?.let { extra + it } ?: extra) } + fun buildTableRows(rows: List, newStyle: Style): List = + rows.flatMap { + buildContent(it, dci, platforms, styles + newStyle, extra) as List + } + fun buildHeader(level: Int) = listOf( ContentHeader( @@ -42,9 +46,11 @@ object DocTagToContentConverter : CommentsToContentConverter { ) ) - fun buildNewLine() = listOf(ContentBreakLine( - platforms - )) + fun buildNewLine() = listOf( + ContentBreakLine( + platforms + ) + ) return when (docTag) { is H1 -> buildHeader(1) @@ -125,6 +131,27 @@ object DocTagToContentConverter : CommentsToContentConverter { styles ) ) + is Strikethrough -> buildChildren(docTag, setOf(TextStyle.Strikethrough)) + is Table -> listOf( + ContentTable( + buildTableRows(docTag.children.filterIsInstance(), CommentTable), + buildTableRows(docTag.children.filterIsInstance(), CommentTable), + dci, + platforms, + styles + CommentTable + ) + ) + is Th, + is Tr -> listOf( + ContentGroup( + docTag.children.map { + ContentGroup(buildChildren(it), dci, platforms, styles, extra) + }, + dci, + platforms, + styles + ) + ) else -> buildChildren(docTag) } } -- cgit