Merge remote-tracking branch 'upstream/java-layout-html-format' into devsite-with-java-layout-html
diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt b/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt
index b40cef7..e8a9a4d 100644
--- a/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt
+++ b/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt
@@ -402,9 +402,7 @@
is ContentParagraph -> p { appendContent(content.children) }
is ContentNodeLink -> {
- ""
-
- a(href = uriProvider.linkTo(content.node!!, uri)) { appendContent(content.children) }
+ a(href = content.node?.let { uriProvider.linkTo(it, uri) } ?: "#unresolved") { appendContent(content.children) }
}
is ContentExternalLink -> {
a(href = content.href) { appendContent(content.children) }
@@ -457,7 +455,10 @@
return when (node.kind) {
NodeKind.Package -> tryGetContainerUri(node)?.resolve("package-summary.html")
in classLike -> tryGetContainerUri(node)?.resolve("#")
- in memberLike -> tryGetMainUri(node.owner!!)?.resolveInPage(node)
+ in memberLike -> {
+ val owner = if (node.owner?.kind != NodeKind.ExternalClass) node.owner else node.owner?.owner
+ tryGetMainUri(owner!!)?.resolveInPage(node)
+ }
NodeKind.TypeParameter -> node.path.asReversed().drop(1).firstNotNullResult(this::tryGetMainUri)?.resolveInPage(node)
NodeKind.AllTypes -> tryGetContainerUri(node.owner!!)?.resolve("classes.html")
else -> null