aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main')
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt8
-rw-r--r--plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt2
-rw-r--r--plugins/base/src/main/kotlin/templating/InsertTemplateExtra.kt12
3 files changed, 16 insertions, 6 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index 1584df02..5c877f03 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -11,6 +11,7 @@ import org.jetbrains.dokka.base.renderers.isImage
import org.jetbrains.dokka.base.renderers.pageId
import org.jetbrains.dokka.base.resolvers.anchors.SymbolAnchorHint
import org.jetbrains.dokka.base.resolvers.local.DokkaBaseLocationProvider
+import org.jetbrains.dokka.base.templating.InsertTemplateExtra
import org.jetbrains.dokka.base.templating.PathToRootSubstitutionCommand
import org.jetbrains.dokka.base.templating.ResolveLinkCommand
import org.jetbrains.dokka.links.DRI
@@ -107,6 +108,7 @@ open class HtmlRenderer(
node.hasStyle(TextStyle.Paragraph) -> p(additionalClasses) { childrenCallback() }
node.hasStyle(TextStyle.Block) -> div(additionalClasses) { childrenCallback() }
node.isAnchorable -> buildAnchor(node.anchor!!, node.anchorLabel!!, node.sourceSetsFilters) { childrenCallback() }
+ node.extra[InsertTemplateExtra] != null -> node.extra[InsertTemplateExtra]?.let { templateCommand(it.command) } ?: Unit
else -> childrenCallback()
}
}
@@ -800,11 +802,7 @@ open class HtmlRenderer(
}
}
} else a {
- href = pathToRoot.split("/")
- .filter { it.isNotBlank() }
- .drop(1).takeIf { it.isNotEmpty() }
- ?.joinToString(separator = "/", postfix = "/index.html")
- ?: "index.html"
+ href = pathToRoot + "index.html"
div {
id = "logo"
}
diff --git a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt
index c10029bc..5488f754 100644
--- a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt
+++ b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProvider.kt
@@ -25,7 +25,7 @@ open class DokkaLocationProvider(
page.children.forEach { registerPath(it, prefix) }
} else {
val newPrefix = prefix + page.pathName
- put(page, newPrefix)
+ put(page, if (page is ModulePageNode) prefix else newPrefix)
page.children.forEach { registerPath(it, newPrefix) }
}
diff --git a/plugins/base/src/main/kotlin/templating/InsertTemplateExtra.kt b/plugins/base/src/main/kotlin/templating/InsertTemplateExtra.kt
new file mode 100644
index 00000000..b2e883f0
--- /dev/null
+++ b/plugins/base/src/main/kotlin/templating/InsertTemplateExtra.kt
@@ -0,0 +1,12 @@
+package org.jetbrains.dokka.base.templating
+
+import org.jetbrains.dokka.model.properties.ExtraProperty
+import org.jetbrains.dokka.pages.ContentNode
+
+data class InsertTemplateExtra(val command: Command) : ExtraProperty<ContentNode> {
+
+ companion object : ExtraProperty.Key<ContentNode, InsertTemplateExtra>
+
+ override val key: ExtraProperty.Key<ContentNode, *>
+ get() = Companion
+} \ No newline at end of file