aboutsummaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/kotlin/Formats/StructuredFormatService.kt7
1 files changed, 4 insertions, 3 deletions
diff --git a/core/src/main/kotlin/Formats/StructuredFormatService.kt b/core/src/main/kotlin/Formats/StructuredFormatService.kt
index b4bb660e..84f91d9c 100644
--- a/core/src/main/kotlin/Formats/StructuredFormatService.kt
+++ b/core/src/main/kotlin/Formats/StructuredFormatService.kt
@@ -1,7 +1,6 @@
package org.jetbrains.dokka
import org.jetbrains.dokka.LanguageService.RenderMode
-import org.jetbrains.kotlin.utils.ifEmpty
import java.util.*
data class FormatLink(val text: String, val href: String)
@@ -188,6 +187,9 @@ abstract class StructuredOutputBuilder(val to: StringBuilder,
if (to.owner?.kind == NodeKind.GroupNode)
return link(from, to.owner!!, extension, name)
+ if (from.owner?.kind == NodeKind.GroupNode)
+ return link(from.owner!!, to, extension, name)
+
return FormatLink(name(to), locationService.relativePathToLocation(from, to))
}
@@ -226,7 +228,6 @@ abstract class StructuredOutputBuilder(val to: StringBuilder,
for ((index, item) in path.withIndex()) {
if (index > 0) {
appendBreadcrumbSeparator()
-
}
appendLink(item)
}
@@ -248,7 +249,7 @@ abstract class StructuredOutputBuilder(val to: StringBuilder,
open inner class PageBuilder(val nodes: Iterable<DocumentationNode>, val noHeader: Boolean = false) {
open fun build() {
val breakdownByLocation = nodes.groupBy { node ->
- node.path.filterNot { it.name.isEmpty() }.map { link(node, it) }
+ node.path.filterNot { it.name.isEmpty() }.map { link(node, it) }.distinct()
}
for ((path, nodes) in breakdownByLocation) {