diff options
Diffstat (limited to 'plugins/jekyll/jekyll-template-processing/src/main/kotlin/org/jetbrains')
-rw-r--r-- | plugins/jekyll/jekyll-template-processing/src/main/kotlin/org/jetbrains/dokka/gfm/templateProcessing/JekyllTemplateProcessingPlugin.kt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/jekyll/jekyll-template-processing/src/main/kotlin/org/jetbrains/dokka/gfm/templateProcessing/JekyllTemplateProcessingPlugin.kt b/plugins/jekyll/jekyll-template-processing/src/main/kotlin/org/jetbrains/dokka/gfm/templateProcessing/JekyllTemplateProcessingPlugin.kt new file mode 100644 index 00000000..fc4f67de --- /dev/null +++ b/plugins/jekyll/jekyll-template-processing/src/main/kotlin/org/jetbrains/dokka/gfm/templateProcessing/JekyllTemplateProcessingPlugin.kt @@ -0,0 +1,32 @@ +package org.jetbrains.dokka.gfm.templateProcessing + +import org.jetbrains.dokka.allModulesPage.AllModulesPagePlugin +import org.jetbrains.dokka.allModulesPage.MultimoduleLocationProvider +import org.jetbrains.dokka.base.DokkaBase +import org.jetbrains.dokka.base.resolvers.local.DokkaLocationProviderFactory +import org.jetbrains.dokka.jekyll.JekyllPlugin +import org.jetbrains.dokka.plugability.DokkaPlugin + +class JekyllTemplateProcessingPlugin : DokkaPlugin() { + + private val allModulesPagePlugin by lazy { plugin<AllModulesPagePlugin>() } + + private val jekyllPlugin by lazy { plugin<JekyllPlugin>() } + private val gfmTemplatingPlugin by lazy { plugin<GfmTemplateProcessingPlugin>() } + + private val dokkaBase by lazy { plugin<DokkaBase>() } + + val jekyllLocationProvider by extending { + dokkaBase.locationProviderFactory providing MultimoduleLocationProvider::Factory override listOf( + jekyllPlugin.locationProvider, + gfmTemplatingPlugin.gfmLocationProvider + ) + } + + val jekyllPartialLocationProvider by extending { + allModulesPagePlugin.partialLocationProviderFactory providing ::DokkaLocationProviderFactory override listOf( + allModulesPagePlugin.baseLocationProviderFactory, + gfmTemplatingPlugin.gfmPartialLocationProvider + ) + } +} |