diff options
| author | Paweł Marks <pmarks@virtuslab.com> | 2020-02-01 14:49:05 +0100 |
|---|---|---|
| committer | Paweł Marks <Kordyjan@users.noreply.github.com> | 2020-02-04 14:42:44 +0100 |
| commit | d68c95e31878acb01b93070ddd9014cd1ed70b26 (patch) | |
| tree | 92539882519eab84b49d75f1a9ac3bbf0d1ea235 /core/src/main/kotlin/renderers/html | |
| parent | 216a7f6b89ce769bcf4d41301ecc34636dc20155 (diff) | |
| download | dokka-d68c95e31878acb01b93070ddd9014cd1ed70b26.tar.gz dokka-d68c95e31878acb01b93070ddd9014cd1ed70b26.tar.bz2 dokka-d68c95e31878acb01b93070ddd9014cd1ed70b26.zip | |
Making functions from renderer open so users can write their own custom rendering strategies
Diffstat (limited to 'core/src/main/kotlin/renderers/html')
| -rw-r--r-- | core/src/main/kotlin/renderers/html/HtmlRenderer.kt | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/core/src/main/kotlin/renderers/html/HtmlRenderer.kt b/core/src/main/kotlin/renderers/html/HtmlRenderer.kt index 462a8acc..d0738289 100644 --- a/core/src/main/kotlin/renderers/html/HtmlRenderer.kt +++ b/core/src/main/kotlin/renderers/html/HtmlRenderer.kt @@ -16,28 +16,13 @@ open class HtmlRenderer( private val pageList = mutableListOf<String>() - private var idCounter = 0 - get() = ++field - - private fun FlowContent.buildSideMenu(context: PageNode, node: PageNode) { - val children = node.children.filter { it !is MemberPageNode } - val submenuId = if (children.isNotEmpty()) "nav$idCounter" else null - div("sideMenuPart") { - submenuId?.also { id = it } - div("overview") { - buildLink(node, context) - submenuId?.also { - span("navButton") { - onClick = """document.getElementById("$it").classList.toggle("hidden");""" - span("navButtonContent") - } - } - } - children.forEach { buildSideMenu(context, it) } - } - } - - override val preprocessors = listOf(RootCreator, SearchPageInstaller, ResourceInstaller, StyleAndScriptsAppender) + override val preprocessors = listOf( + RootCreator, + SearchPageInstaller, + ResourceInstaller, + NavigationInstaller, + StyleAndScriptsAppender + ) override fun FlowContent.buildList(node: ContentList, pageContext: ContentPage) = if (node.ordered) ol { @@ -47,7 +32,7 @@ open class HtmlRenderer( buildListItems(node.children, pageContext) } - protected open fun OL.buildListItems(items: List<ContentNode>, pageContext: ContentPage) { + open fun OL.buildListItems(items: List<ContentNode>, pageContext: ContentPage) { items.forEach { if (it is ContentList) buildList(it, pageContext) @@ -56,7 +41,7 @@ open class HtmlRenderer( } } - protected open fun UL.buildListItems(items: List<ContentNode>, pageContext: ContentPage) { + open fun UL.buildListItems(items: List<ContentNode>, pageContext: ContentPage) { items.forEach { if (it is ContentList) buildList(it, pageContext) |
