From d41965ca3cb180bc82bd5dd6fa747d2b83381b31 Mon Sep 17 00:00:00 2001 From: Paweł Marks Date: Wed, 7 Oct 2020 19:36:49 +0200 Subject: Implement immediate temaplates resolution --- plugins/base/src/main/kotlin/templating/Command.kt | 6 ++---- .../main/kotlin/templating/ImmediateHtmlCommandConsumer.kt | 14 ++++++++++++++ .../kotlin/templating/PathToRootSubstitutionCommand.kt | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 plugins/base/src/main/kotlin/templating/ImmediateHtmlCommandConsumer.kt (limited to 'plugins/base/src/main/kotlin/templating') diff --git a/plugins/base/src/main/kotlin/templating/Command.kt b/plugins/base/src/main/kotlin/templating/Command.kt index 0b998dee..5a81144c 100644 --- a/plugins/base/src/main/kotlin/templating/Command.kt +++ b/plugins/base/src/main/kotlin/templating/Command.kt @@ -1,13 +1,11 @@ package org.jetbrains.dokka.base.templating -import com.fasterxml.jackson.annotation.JsonSubTypes -import com.fasterxml.jackson.annotation.JsonSubTypes.Type import com.fasterxml.jackson.annotation.JsonTypeInfo import com.fasterxml.jackson.annotation.JsonTypeInfo.Id.CLASS -@JsonTypeInfo(use= CLASS) +@JsonTypeInfo(use = CLASS) interface Command -abstract class SubstitutionCommand: Command { +abstract class SubstitutionCommand : Command { abstract val pattern: String } diff --git a/plugins/base/src/main/kotlin/templating/ImmediateHtmlCommandConsumer.kt b/plugins/base/src/main/kotlin/templating/ImmediateHtmlCommandConsumer.kt new file mode 100644 index 00000000..a2a3b31e --- /dev/null +++ b/plugins/base/src/main/kotlin/templating/ImmediateHtmlCommandConsumer.kt @@ -0,0 +1,14 @@ +package org.jetbrains.dokka.base.templating + +import org.jetbrains.dokka.base.renderers.html.TemplateBlock +import org.jetbrains.dokka.base.renderers.html.command.consumers.ImmediateResolutionTagConsumer +import org.jetbrains.dokka.plugability.DokkaContext + +interface ImmediateHtmlCommandConsumer { + fun canProcess(command:Command): Boolean + + fun processCommand(command: Command, block: TemplateBlock, tagConsumer: ImmediateResolutionTagConsumer) + + fun processCommandAndFinalize(command: Command, block: TemplateBlock, tagConsumer: ImmediateResolutionTagConsumer): R +} + diff --git a/plugins/base/src/main/kotlin/templating/PathToRootSubstitutionCommand.kt b/plugins/base/src/main/kotlin/templating/PathToRootSubstitutionCommand.kt index 03f091c3..f307db86 100644 --- a/plugins/base/src/main/kotlin/templating/PathToRootSubstitutionCommand.kt +++ b/plugins/base/src/main/kotlin/templating/PathToRootSubstitutionCommand.kt @@ -1,3 +1,3 @@ package org.jetbrains.dokka.base.templating -data class PathToRootSubstitutionCommand(override val pattern: String): SubstitutionCommand() \ No newline at end of file +data class PathToRootSubstitutionCommand(override val pattern: String, val default: String): SubstitutionCommand() \ No newline at end of file -- cgit