package org.jetbrains.dokka.templates import org.jetbrains.dokka.allModulesPage.templates.NavigationSearchTemplateStrategy import org.jetbrains.dokka.allModulesPage.templates.PagesSearchTemplateStrategy import org.jetbrains.dokka.plugability.DokkaPlugin import templates.SourcesetDependencyProcessingStrategy class TemplatingPlugin : DokkaPlugin() { val submoduleTemplateProcessor by extensionPoint() val multimoduleTemplateProcessor by extensionPoint() val templateProcessingStrategy by extensionPoint() val directiveBasedCommandHandlers by extensionPoint() val substitutor by extensionPoint() val defaultSubmoduleTemplateProcessor by extending { submoduleTemplateProcessor providing ::DefaultSubmoduleTemplateProcessor } val defaultMultiModuleTemplateProcessor by extending { multimoduleTemplateProcessor providing ::DefaultMultiModuleTemplateProcessor } val directiveBasedHtmlTemplateProcessingStrategy by extending { templateProcessingStrategy providing ::DirectiveBasedHtmlTemplateProcessingStrategy order { before(fallbackProcessingStrategy) } } val navigationSearchTemplateStrategy by extending { templateProcessingStrategy providing ::NavigationSearchTemplateStrategy order { before(fallbackProcessingStrategy) } } val sourcesetDependencyProcessingStrategy by extending { templateProcessingStrategy providing ::SourcesetDependencyProcessingStrategy order { before(fallbackProcessingStrategy) } } val pagesSearchTemplateStrategy by extending { templateProcessingStrategy providing ::PagesSearchTemplateStrategy order { before(fallbackProcessingStrategy) } } val fallbackProcessingStrategy by extending { templateProcessingStrategy providing ::FallbackTemplateProcessingStrategy } val pathToRootSubstitutor by extending { substitutor providing ::PathToRootSubstitutor } val addToNavigationCommandHandler by extending { directiveBasedCommandHandlers providing ::AddToNavigationCommandHandler } val substitutionCommandHandler by extending { directiveBasedCommandHandlers providing ::SubstitutionCommandHandler } }