From 8e5c63d035ef44a269b8c43430f43f5c8eebfb63 Mon Sep 17 00:00:00 2001 From: Ignat Beresnev Date: Fri, 10 Nov 2023 11:46:54 +0100 Subject: 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 --- .../templates/AddToNavigationCommandHandler.kt | 62 ---------------------- 1 file changed, 62 deletions(-) delete mode 100644 plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt (limited to 'plugins/templating/src/main/kotlin/templates/AddToNavigationCommandHandler.kt') 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() - - 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()) - ) - } - } - } -} -- cgit