aboutsummaryrefslogtreecommitdiff
path: root/plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt
diff options
context:
space:
mode:
authorIgnat Beresnev <ignat.beresnev@jetbrains.com>2023-11-10 11:46:54 +0100
committerGitHub <noreply@github.com>2023-11-10 11:46:54 +0100
commit8e5c63d035ef44a269b8c43430f43f5c8eebfb63 (patch)
tree1b915207b2b9f61951ddbf0ff2e687efd053d555 /plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt
parenta44efd4ba0c2e4ab921ff75e0f53fc9335aa79db (diff)
downloaddokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.gz
dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.bz2
dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.zip
Restructure the project to utilize included builds (#3174)
* Refactor and simplify artifact publishing * Update Gradle to 8.4 * Refactor and simplify convention plugins and build scripts Fixes #3132 --------- Co-authored-by: Adam <897017+aSemy@users.noreply.github.com> Co-authored-by: Oleg Yukhnevich <whyoleg@gmail.com>
Diffstat (limited to 'plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt')
-rw-r--r--plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt62
1 files changed, 0 insertions, 62 deletions
diff --git a/plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt b/plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt
deleted file mode 100644
index 78c6c684..00000000
--- a/plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
- */
-
-package org.jetbrains.dokka.templates
-
-import org.jetbrains.dokka.base.templating.AddToNavigationCommand
-import org.jetbrains.dokka.base.templating.Command
-import org.jetbrains.dokka.plugability.DokkaContext
-import org.jsoup.nodes.Attributes
-import org.jsoup.nodes.Element
-import org.jsoup.parser.Tag
-import java.io.File
-import java.nio.file.Files
-import java.util.concurrent.ConcurrentHashMap
-
-public class AddToNavigationCommandHandler(
- public val context: DokkaContext
-) : CommandHandler {
- private val navigationFragments = ConcurrentHashMap<String, Element>()
-
- override fun handleCommandAsTag(command: Command, body: Element, input: File, output: File) {
- command as AddToNavigationCommand
- context.configuration.modules.find { it.name == command.moduleName }
- ?.relativePathToOutputDirectory
- ?.relativeToOrSelf(context.configuration.outputDir)
- ?.let { key -> navigationFragments[key.toString()] = body }
- }
-
- override fun canHandle(command: Command): Boolean = command is AddToNavigationCommand
-
- override fun finish(output: File) {
- if (navigationFragments.isNotEmpty()) {
- val attributes = Attributes().apply {
- put("class", "sideMenu")
- }
- val node = Element(Tag.valueOf("div"), "", attributes)
- navigationFragments.entries.sortedBy { it.key }.forEach { (moduleName, command) ->
- command.select("a").forEach { a ->
- a.attr("href").also { a.attr("href", "${moduleName}/${it}") }
- }
- command.childNodes().toList().forEachIndexed { index, child ->
- if (index == 0) {
- child.attr("id", "$moduleName-nav-submenu")
- }
- node.appendChild(child)
- }
- }
-
- Files.write(output.resolve("navigation.html").toPath(), listOf(node.outerHtml()))
- node.select("a").forEach { a ->
- a.attr("href").also { a.attr("href", "../${it}") }
- }
- navigationFragments.keys.forEach {
- Files.write(
- output.resolve(it).resolve("navigation.html").toPath(),
- listOf(node.outerHtml())
- )
- }
- }
- }
-}