aboutsummaryrefslogtreecommitdiff
path: root/plugins/templating/src
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/templating/src')
-rw-r--r--plugins/templating/src/main/kotlin/templates/ProjectNameSubstitutor.kt13
-rw-r--r--plugins/templating/src/main/kotlin/templates/TemplatingPlugin.kt5
2 files changed, 18 insertions, 0 deletions
diff --git a/plugins/templating/src/main/kotlin/templates/ProjectNameSubstitutor.kt b/plugins/templating/src/main/kotlin/templates/ProjectNameSubstitutor.kt
new file mode 100644
index 00000000..8fc12b6c
--- /dev/null
+++ b/plugins/templating/src/main/kotlin/templates/ProjectNameSubstitutor.kt
@@ -0,0 +1,13 @@
+package templates
+
+import org.jetbrains.dokka.base.templating.ProjectNameSubstitutionCommand
+import org.jetbrains.dokka.base.templating.SubstitutionCommand
+import org.jetbrains.dokka.plugability.DokkaContext
+import org.jetbrains.dokka.templates.Substitutor
+import org.jetbrains.dokka.templates.TemplatingContext
+
+class ProjectNameSubstitutor(private val dokkaContext: DokkaContext) : Substitutor {
+
+ override fun trySubstitute(context: TemplatingContext<SubstitutionCommand>, match: MatchResult): String? =
+ dokkaContext.configuration.moduleName.takeIf { context.command is ProjectNameSubstitutionCommand }
+} \ No newline at end of file
diff --git a/plugins/templating/src/main/kotlin/templates/TemplatingPlugin.kt b/plugins/templating/src/main/kotlin/templates/TemplatingPlugin.kt
index 0842bb2b..418edcbf 100644
--- a/plugins/templating/src/main/kotlin/templates/TemplatingPlugin.kt
+++ b/plugins/templating/src/main/kotlin/templates/TemplatingPlugin.kt
@@ -4,6 +4,7 @@ import org.jetbrains.dokka.allModulesPage.templates.NavigationSearchTemplateStra
import org.jetbrains.dokka.allModulesPage.templates.PackageListProcessingStrategy
import org.jetbrains.dokka.allModulesPage.templates.PagesSearchTemplateStrategy
import org.jetbrains.dokka.plugability.DokkaPlugin
+import templates.ProjectNameSubstitutor
import templates.SourcesetDependencyProcessingStrategy
class TemplatingPlugin : DokkaPlugin() {
@@ -60,6 +61,10 @@ class TemplatingPlugin : DokkaPlugin() {
substitutor providing ::PathToRootSubstitutor
}
+ val projectNameSubstitutor by extending {
+ substitutor providing ::ProjectNameSubstitutor
+ }
+
val addToNavigationCommandHandler by extending {
directiveBasedCommandHandlers providing ::AddToNavigationCommandHandler
}