aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/renderers/DefaultRenderer.kt
diff options
context:
space:
mode:
authorBłażej Kardyś <bkardys@virtuslab.com>2019-11-29 03:28:17 +0100
committerBłażej Kardyś <bkardys@virtuslab.com>2019-12-05 16:15:47 +0100
commitac521e75eadb384e005d73ec5818e01b742cbe19 (patch)
treeef147f96b8fa550fa763d972b5534edbf2417ee7 /core/src/main/kotlin/renderers/DefaultRenderer.kt
parentcf97771a0805b62532cda2cdf3bfebeed21652ab (diff)
downloaddokka-ac521e75eadb384e005d73ec5818e01b742cbe19.tar.gz
dokka-ac521e75eadb384e005d73ec5818e01b742cbe19.tar.bz2
dokka-ac521e75eadb384e005d73ec5818e01b742cbe19.zip
Parentless page navigation
Diffstat (limited to 'core/src/main/kotlin/renderers/DefaultRenderer.kt')
-rw-r--r--core/src/main/kotlin/renderers/DefaultRenderer.kt13
1 files changed, 5 insertions, 8 deletions
diff --git a/core/src/main/kotlin/renderers/DefaultRenderer.kt b/core/src/main/kotlin/renderers/DefaultRenderer.kt
index 3f851849..72fc222a 100644
--- a/core/src/main/kotlin/renderers/DefaultRenderer.kt
+++ b/core/src/main/kotlin/renderers/DefaultRenderer.kt
@@ -30,14 +30,11 @@ abstract class DefaultRenderer(
protected open fun buildHeader(node: ContentHeader, pageContext: PageNode): String =
buildHeader(node.level, node.children.joinToString { it.build(pageContext) })
- protected open fun buildNavigation(page: PageNode): String {
- fun buildNavigationWithContext(page: PageNode, context: PageNode): String =
- page.parent?.let { buildNavigationWithContext(it, context) }.orEmpty() + "/" + buildLink(
- page.name,
- locationProvider.resolve(page, context)
- )
- return buildNavigationWithContext(page, page)
- }
+ protected open fun buildNavigation(page: PageNode): String =
+ locationProvider.ancestors(page).fold("") { acc, node -> "$acc/${buildLink(
+ node.name,
+ locationProvider.resolve(node, page)
+ )}" }
protected open fun ContentNode.build(pageContext: PageNode): String = buildContentNode(this, pageContext)