aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/renderers/html
diff options
context:
space:
mode:
authorPaweł Marks <pmarks@virtuslab.com>2020-02-01 14:49:05 +0100
committerPaweł Marks <Kordyjan@users.noreply.github.com>2020-02-04 14:42:44 +0100
commitd68c95e31878acb01b93070ddd9014cd1ed70b26 (patch)
tree92539882519eab84b49d75f1a9ac3bbf0d1ea235 /core/src/main/kotlin/renderers/html
parent216a7f6b89ce769bcf4d41301ecc34636dc20155 (diff)
downloaddokka-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.kt33
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)