aboutsummaryrefslogtreecommitdiff
path: root/plugins/templating/src/main/kotlin/templates/PathToRootSubstitutor.kt
blob: da81432eda3996801d46d5906bc020f8c764f9af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package org.jetbrains.dokka.templates

import org.jetbrains.dokka.base.templating.PathToRootSubstitutionCommand
import org.jetbrains.dokka.base.templating.SubstitutionCommand
import org.jetbrains.dokka.plugability.DokkaContext
import java.io.File

class PathToRootSubstitutor(private val dokkaContext: DokkaContext) : Substitutor {

    override fun trySubstitute(context: TemplatingContext<SubstitutionCommand>, match: MatchResult): String? =
        if (context.command is PathToRootSubstitutionCommand) {
            context.output.toPath().parent.relativize(dokkaContext.configuration.outputDir.toPath()).toString().split(File.separator).joinToString(separator = "/", postfix = "/") { it }
        } else null
}