aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin/renderers
diff options
context:
space:
mode:
authorKamil Doległo <kamilok1965@interia.pl>2020-08-11 21:47:26 +0200
committerSebastian Sellmair <34319766+sellmair@users.noreply.github.com>2020-08-19 13:34:10 +0200
commit852a6ce6c0f43c9b2044320dcceb4c6cc0a3b302 (patch)
treefb95be79e816769ca5305cf3a601348549000c6d /plugins/base/src/main/kotlin/renderers
parent822653f017fa58352148e1c586690debb6773965 (diff)
downloaddokka-852a6ce6c0f43c9b2044320dcceb4c6cc0a3b302.tar.gz
dokka-852a6ce6c0f43c9b2044320dcceb4c6cc0a3b302.tar.bz2
dokka-852a6ce6c0f43c9b2044320dcceb4c6cc0a3b302.zip
Refactor location providers
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers')
-rw-r--r--plugins/base/src/main/kotlin/renderers/PackageListService.kt9
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt9
-rw-r--r--plugins/base/src/main/kotlin/renderers/preprocessors.kt5
3 files changed, 14 insertions, 9 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/PackageListService.kt b/plugins/base/src/main/kotlin/renderers/PackageListService.kt
index 0cf84ddd..42c8d66e 100644
--- a/plugins/base/src/main/kotlin/renderers/PackageListService.kt
+++ b/plugins/base/src/main/kotlin/renderers/PackageListService.kt
@@ -39,9 +39,9 @@ class PackageListService(val context: DokkaContext) {
visit(module, setOf())
return buildString {
- appendln("\$dokka.format:${format}")
- appendln("\$dokka.linkExtension:${linkExtension}")
- nonStandardLocations.map { (signature, location) -> "\$dokka.location:$signature\u001f$location" }
+ appendLine("$DOKKA_PARAM_PREFIX.format:${format}")
+ appendLine("$DOKKA_PARAM_PREFIX.linkExtension:${linkExtension}")
+ nonStandardLocations.map { (signature, location) -> "$DOKKA_PARAM_PREFIX.location:$signature\u001f$location" }
.sorted().joinTo(this, separator = "\n", postfix = "\n")
packages.sorted().joinTo(this, separator = "\n", postfix = "\n")
@@ -49,4 +49,7 @@ class PackageListService(val context: DokkaContext) {
}
+ companion object {
+ const val DOKKA_PARAM_PREFIX = "\$dokka"
+ }
} \ No newline at end of file
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index e3d54e49..d9833e43 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -21,6 +21,7 @@ import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.plugability.plugin
import org.jetbrains.dokka.plugability.query
import org.jetbrains.dokka.plugability.querySingle
+import org.jetbrains.dokka.utilities.htmlEscape
import java.io.File
import java.net.URI
@@ -550,7 +551,7 @@ open class HtmlRenderer(
platforms: List<DisplaySourceSet>,
from: PageNode? = null,
block: FlowContent.() -> Unit
- ) = buildLink(locationProvider.resolve(to, platforms.toSet(), from).orEmpty(), block)
+ ) = buildLink(locationProvider.resolve(to, platforms.toSet(), from)!!, block)
override fun buildError(node: ContentNode) {
context.logger.error("Unknown ContentNode type: $node")
@@ -573,7 +574,7 @@ open class HtmlRenderer(
buildText(node.children, pageContext, sourceSetRestriction)
}
} ?: span {
- attributes["data-unresolved-link"] = "true"
+ attributes["data-unresolved-link"] = node.address.toString().htmlEscape()
buildText(node.children, pageContext, sourceSetRestriction)
}
@@ -625,7 +626,7 @@ open class HtmlRenderer(
}
}
- private fun PageNode.root(path: String) = locationProvider.resolveRoot(this) + path
+ private fun PageNode.root(path: String) = locationProvider.pathToRoot(this) + path
override fun buildPage(page: ContentPage, content: (FlowContent, ContentPage) -> Unit): String =
buildHtml(page, page.embeddedResources) {
@@ -658,7 +659,7 @@ open class HtmlRenderer(
else -> unsafe { +it }
}
}
- script { unsafe { +"""var pathToRoot = "${locationProvider.resolveRoot(page)}";""" } }
+ script { unsafe { +"""var pathToRoot = "${locationProvider.pathToRoot(page)}";""" } }
}
body {
div {
diff --git a/plugins/base/src/main/kotlin/renderers/preprocessors.kt b/plugins/base/src/main/kotlin/renderers/preprocessors.kt
index bf2a9eb4..b07db2bd 100644
--- a/plugins/base/src/main/kotlin/renderers/preprocessors.kt
+++ b/plugins/base/src/main/kotlin/renderers/preprocessors.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka.base.renderers
+import org.jetbrains.dokka.base.resolvers.shared.LinkFormat
import org.jetbrains.dokka.pages.*
import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.transformers.pages.PageTransformer
@@ -10,7 +11,7 @@ object RootCreator : PageTransformer {
}
-class PackageListCreator(val context: DokkaContext, val format: String, val linkExtension: String) : PageTransformer {
+class PackageListCreator(val context: DokkaContext, val format: LinkFormat) : PageTransformer {
override fun invoke(input: RootPageNode) =
input.modified(children = input.children.map {
it.takeUnless { it is ModulePageNode }
@@ -22,6 +23,6 @@ class PackageListCreator(val context: DokkaContext, val format: String, val link
RendererSpecificResourcePage(
"${pageNode.name}/package-list",
emptyList(),
- RenderingStrategy.Write(PackageListService(context).formatPackageList(pageNode, format, linkExtension))
+ RenderingStrategy.Write(PackageListService(context).formatPackageList(pageNode, format.formatName, format.linkExtension))
)
}