diff options
182 files changed, 1307 insertions, 939 deletions
diff --git a/build.gradle b/build.gradle index f1748259..35ec271e 100644 --- a/build.gradle +++ b/build.gradle @@ -34,6 +34,7 @@ allprojects { maven { url 'https://jitpack.io' } maven { url "https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_dev_CompilerAllPlugins/$bundled_kotlin_compiler_version/maven" } ivy(repo) + maven { url "https://dl.bintray.com/kotlin/kotlinx.html" } } } diff --git a/core/build.gradle b/core/build.gradle index 1a93bb48..a87d3c97 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -33,6 +33,8 @@ dependencies { compile intellijCoreAnalysis() + compile 'org.jetbrains.kotlinx:kotlinx-html-jvm:0.6.8' + //tools.jar def toolsJar = files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs().findAll { it.path.endsWith("jar") }) compileOnly toolsJar diff --git a/core/src/main/kotlin/Formats/AnalysisComponents.kt b/core/src/main/kotlin/Formats/AnalysisComponents.kt new file mode 100644 index 00000000..c4d97dbb --- /dev/null +++ b/core/src/main/kotlin/Formats/AnalysisComponents.kt @@ -0,0 +1,45 @@ +package org.jetbrains.dokka.Formats + +import com.google.inject.Binder +import org.jetbrains.dokka.* +import org.jetbrains.dokka.Kotlin.KotlinAsJavaDescriptorSignatureProvider +import org.jetbrains.dokka.Kotlin.KotlinDescriptorSignatureProvider +import org.jetbrains.dokka.Model.DescriptorSignatureProvider +import org.jetbrains.dokka.Samples.DefaultSampleProcessingService +import org.jetbrains.dokka.Samples.SampleProcessingService +import org.jetbrains.dokka.Utilities.bind +import org.jetbrains.dokka.Utilities.toType +import kotlin.reflect.KClass + + +interface DefaultAnalysisComponentServices { + val packageDocumentationBuilderClass: KClass<out PackageDocumentationBuilder> + val javaDocumentationBuilderClass: KClass<out JavaDocumentationBuilder> + val sampleProcessingService: KClass<out SampleProcessingService> + val descriptorSignatureProvider: KClass<out DescriptorSignatureProvider> +} + +interface DefaultAnalysisComponent : FormatDescriptorAnalysisComponent, DefaultAnalysisComponentServices { + override fun configureAnalysis(binder: Binder): Unit = with(binder) { + bind<DescriptorSignatureProvider>() toType descriptorSignatureProvider + bind<PackageDocumentationBuilder>() toType packageDocumentationBuilderClass + bind<JavaDocumentationBuilder>() toType javaDocumentationBuilderClass + bind<SampleProcessingService>() toType sampleProcessingService + } +} + + +object KotlinAsJava : DefaultAnalysisComponentServices { + override val packageDocumentationBuilderClass = KotlinAsJavaDocumentationBuilder::class + override val javaDocumentationBuilderClass = JavaPsiDocumentationBuilder::class + override val sampleProcessingService = DefaultSampleProcessingService::class + override val descriptorSignatureProvider = KotlinAsJavaDescriptorSignatureProvider::class +} + + +object KotlinAsKotlin : DefaultAnalysisComponentServices { + override val packageDocumentationBuilderClass = KotlinPackageDocumentationBuilder::class + override val javaDocumentationBuilderClass = KotlinJavaDocumentationBuilder::class + override val sampleProcessingService = DefaultSampleProcessingService::class + override val descriptorSignatureProvider = KotlinDescriptorSignatureProvider::class +}
\ No newline at end of file diff --git a/core/src/main/kotlin/Formats/FormatDescriptor.kt b/core/src/main/kotlin/Formats/FormatDescriptor.kt index da0156a7..a1120c00 100644 --- a/core/src/main/kotlin/Formats/FormatDescriptor.kt +++ b/core/src/main/kotlin/Formats/FormatDescriptor.kt @@ -1,17 +1,39 @@ package org.jetbrains.dokka.Formats +import com.google.inject.Binder import org.jetbrains.dokka.* -import org.jetbrains.dokka.Model.DescriptorSignatureProvider -import org.jetbrains.dokka.Samples.SampleProcessingService +import org.jetbrains.dokka.Utilities.bind +import org.jetbrains.dokka.Utilities.lazyBind +import org.jetbrains.dokka.Utilities.toOptional +import org.jetbrains.dokka.Utilities.toType import kotlin.reflect.KClass -interface FormatDescriptor { - val formatServiceClass: KClass<out FormatService>? - val outlineServiceClass: KClass<out OutlineFormatService>? - val generatorServiceClass: KClass<out Generator> - val packageDocumentationBuilderClass: KClass<out PackageDocumentationBuilder> - val javaDocumentationBuilderClass: KClass<out JavaDocumentationBuilder> - val sampleProcessingService: KClass<out SampleProcessingService> - val packageListServiceClass: KClass<out PackageListService>? - val descriptorSignatureProvider: KClass<out DescriptorSignatureProvider> + +interface FormatDescriptorAnalysisComponent { + fun configureAnalysis(binder: Binder) +} + +interface FormatDescriptorOutputComponent { + fun configureOutput(binder: Binder) } + +interface FormatDescriptor : FormatDescriptorAnalysisComponent, FormatDescriptorOutputComponent + + +abstract class FileGeneratorBasedFormatDescriptor : FormatDescriptor { + + override fun configureOutput(binder: Binder): Unit = with(binder) { + bind<Generator>() toType NodeLocationAwareGenerator::class + bind<NodeLocationAwareGenerator>() toType generatorServiceClass + + + lazyBind<OutlineFormatService>() toOptional (outlineServiceClass) + lazyBind<FormatService>() toOptional formatServiceClass + lazyBind<PackageListService>() toOptional packageListServiceClass + } + + abstract val formatServiceClass: KClass<out FormatService>? + abstract val outlineServiceClass: KClass<out OutlineFormatService>? + abstract val generatorServiceClass: KClass<out FileGenerator> + abstract val packageListServiceClass: KClass<out PackageListService>? +}
\ No newline at end of file diff --git a/core/src/main/kotlin/Formats/GFMFormatService.kt b/core/src/main/kotlin/Formats/GFMFormatService.kt index f741561c..036ec856 100644 --- a/core/src/main/kotlin/Formats/GFMFormatService.kt +++ b/core/src/main/kotlin/Formats/GFMFormatService.kt @@ -4,14 +4,14 @@ import com.google.inject.Inject import com.google.inject.name.Named import org.jetbrains.dokka.Utilities.impliedPlatformsName -open class GFMOutputBuilder(to: StringBuilder, - location: Location, - locationService: LocationService, - languageService: LanguageService, - extension: String, - impliedPlatforms: List<String>) - : MarkdownOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) -{ +open class GFMOutputBuilder( + to: StringBuilder, + location: Location, + generator: NodeLocationAwareGenerator, + languageService: LanguageService, + extension: String, + impliedPlatforms: List<String> +) : MarkdownOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { override fun appendTable(vararg columns: String, body: () -> Unit) { to.appendln(columns.joinToString(" | ", "| ", " |")) to.appendln("|" + "---|".repeat(columns.size)) @@ -21,8 +21,7 @@ open class GFMOutputBuilder(to: StringBuilder, override fun appendUnorderedList(body: () -> Unit) { if (inTableCell) { wrapInTag("ul", body) - } - else { + } else { super.appendUnorderedList(body) } } @@ -30,8 +29,7 @@ open class GFMOutputBuilder(to: StringBuilder, override fun appendOrderedList(body: () -> Unit) { if (inTableCell) { wrapInTag("ol", body) - } - else { + } else { super.appendOrderedList(body) } } @@ -39,23 +37,25 @@ open class GFMOutputBuilder(to: StringBuilder, override fun appendListItem(body: () -> Unit) { if (inTableCell) { wrapInTag("li", body) - } - else { + } else { super.appendListItem(body) } } } -open class GFMFormatService(locationService: LocationService, - signatureGenerator: LanguageService, - linkExtension: String, - impliedPlatforms: List<String>) -: MarkdownFormatService(locationService, signatureGenerator, linkExtension, impliedPlatforms) { +open class GFMFormatService( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + linkExtension: String, + impliedPlatforms: List<String> +) : MarkdownFormatService(generator, signatureGenerator, linkExtension, impliedPlatforms) { - @Inject constructor(locationService: LocationService, - signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>) : this(locationService, signatureGenerator, "md", impliedPlatforms) + @Inject constructor( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + @Named(impliedPlatformsName) impliedPlatforms: List<String> + ) : this(generator, signatureGenerator, "md", impliedPlatforms) override fun createOutputBuilder(to: StringBuilder, location: Location): FormattedOutputBuilder = - GFMOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + GFMOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) } diff --git a/core/src/main/kotlin/Formats/HtmlFormatService.kt b/core/src/main/kotlin/Formats/HtmlFormatService.kt index 5e05f51a..0073553c 100644 --- a/core/src/main/kotlin/Formats/HtmlFormatService.kt +++ b/core/src/main/kotlin/Formats/HtmlFormatService.kt @@ -5,16 +5,15 @@ import com.google.inject.name.Named import org.jetbrains.dokka.Utilities.impliedPlatformsName import java.io.File import java.nio.file.Path -import java.nio.file.Paths open class HtmlOutputBuilder(to: StringBuilder, location: Location, - locationService: LocationService, + generator: NodeLocationAwareGenerator, languageService: LanguageService, extension: String, impliedPlatforms: List<String>, val templateService: HtmlTemplateService) - : StructuredOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + : StructuredOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { override fun appendText(text: String) { to.append(text.htmlEscape()) @@ -81,7 +80,7 @@ open class HtmlOutputBuilder(to: StringBuilder, } override fun appendNodes(nodes: Iterable<DocumentationNode>) { - templateService.appendHeader(to, getPageTitle(nodes), locationService.calcPathToRoot(location)) + templateService.appendHeader(to, getPageTitle(nodes), generator.relativeToRoot(location)) super.appendNodes(nodes) templateService.appendFooter(to) } @@ -95,21 +94,21 @@ open class HtmlOutputBuilder(to: StringBuilder, } } -open class HtmlFormatService @Inject constructor(@Named("folders") locationService: LocationService, +open class HtmlFormatService @Inject constructor(generator: NodeLocationAwareGenerator, signatureGenerator: LanguageService, val templateService: HtmlTemplateService, @Named(impliedPlatformsName) val impliedPlatforms: List<String>) -: StructuredFormatService(locationService, signatureGenerator, "html"), OutlineFormatService { +: StructuredFormatService(generator, signatureGenerator, "html"), OutlineFormatService { override fun enumerateSupportFiles(callback: (String, String) -> Unit) { callback("/dokka/styles/style.css", "style.css") } override fun createOutputBuilder(to: StringBuilder, location: Location) = - HtmlOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms, templateService) + HtmlOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms, templateService) override fun appendOutline(location: Location, to: StringBuilder, nodes: Iterable<DocumentationNode>) { - templateService.appendHeader(to, "Module Contents", locationService.calcPathToRoot(location)) + templateService.appendHeader(to, "Module Contents", generator.relativeToRoot(location)) super.appendOutline(location, to, nodes) templateService.appendFooter(to) } @@ -123,7 +122,7 @@ open class HtmlFormatService @Inject constructor(@Named("folders") locationServi link.append(languageService.render(node, LanguageService.RenderMode.FULL)) val tempBuilder = StringBuilder() createOutputBuilder(tempBuilder, location).appendContent(link) - to.appendln("<a href=\"${location.path}\">${tempBuilder.toString()}</a><br/>") + to.appendln("<a href=\"${location.path}\">$tempBuilder</a><br/>") } override fun appendOutlineLevel(to: StringBuilder, body: () -> Unit) { @@ -133,11 +132,6 @@ open class HtmlFormatService @Inject constructor(@Named("folders") locationServi } } -private fun LocationService.calcPathToRoot(location: Location): Path { - val path = Paths.get(location.path) - return path.parent?.relativize(Paths.get(root.path + '/')) ?: path -} - fun getPageTitle(nodes: Iterable<DocumentationNode>): String? { val breakdownByLocation = nodes.groupBy { node -> formatPageTitle(node) } return breakdownByLocation.keys.singleOrNull() diff --git a/core/src/main/kotlin/Formats/HtmlTemplateService.kt b/core/src/main/kotlin/Formats/HtmlTemplateService.kt index 010bc702..a65a7b18 100644 --- a/core/src/main/kotlin/Formats/HtmlTemplateService.kt +++ b/core/src/main/kotlin/Formats/HtmlTemplateService.kt @@ -1,9 +1,9 @@ package org.jetbrains.dokka -import java.nio.file.Path +import java.io.File interface HtmlTemplateService { - fun appendHeader(to: StringBuilder, title: String?, basePath: Path) + fun appendHeader(to: StringBuilder, title: String?, basePath: File) fun appendFooter(to: StringBuilder) companion object { @@ -16,7 +16,7 @@ interface HtmlTemplateService { to.appendln("</BODY>") to.appendln("</HTML>") } - override fun appendHeader(to: StringBuilder, title: String?, basePath: Path) { + override fun appendHeader(to: StringBuilder, title: String?, basePath: File) { to.appendln("<HTML>") to.appendln("<HEAD>") to.appendln("<meta charset=\"UTF-8\">") @@ -24,7 +24,7 @@ interface HtmlTemplateService { to.appendln("<title>$title</title>") } if (css != null) { - val cssPath = basePath.resolve(css) + val cssPath = basePath.resolve(css).toUnixString() to.appendln("<link rel=\"stylesheet\" href=\"$cssPath\">") } to.appendln("</HEAD>") diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt b/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt new file mode 100644 index 00000000..f73cd23e --- /dev/null +++ b/core/src/main/kotlin/Formats/JavaLayoutHtmlFormat.kt @@ -0,0 +1,92 @@ +package org.jetbrains.dokka.Formats + +import com.google.inject.Binder +import com.google.inject.Inject +import kotlinx.html.li +import kotlinx.html.stream.appendHTML +import kotlinx.html.ul +import org.jetbrains.dokka.* +import org.jetbrains.dokka.Kotlin.KotlinDescriptorSignatureProvider +import org.jetbrains.dokka.Samples.DefaultSampleProcessingService +import org.jetbrains.dokka.Utilities.bind +import org.jetbrains.dokka.Utilities.toType +import java.io.File + + +class JavaLayoutHtmlFormatDescriptor : FormatDescriptor, DefaultAnalysisComponent { + override val packageDocumentationBuilderClass = KotlinPackageDocumentationBuilder::class + override val javaDocumentationBuilderClass = KotlinJavaDocumentationBuilder::class + override val sampleProcessingService = DefaultSampleProcessingService::class + override val descriptorSignatureProvider = KotlinDescriptorSignatureProvider::class + + override fun configureOutput(binder: Binder): Unit = with(binder) { + bind<Generator>() toType generatorServiceClass + } + + val formatServiceClass = JavaLayoutHtmlFormatService::class + val generatorServiceClass = JavaLayoutHtmlFormatGenerator::class +} + + +class JavaLayoutHtmlFormatService : FormatService { + override val extension: String + get() = TODO("not implemented") + + + override fun createOutputBuilder(to: StringBuilder, location: Location): FormattedOutputBuilder { + TODO("not implemented") + } +} + +class JavaLayoutHtmlFormatOutputBuilder : FormattedOutputBuilder { + override fun appendNodes(nodes: Iterable<DocumentationNode>) { + + } +} + + +class JavaLayoutHtmlFormatNavListBuilder @Inject constructor() : OutlineFormatService { + override fun getOutlineFileName(location: Location): File { + TODO() + } + + override fun appendOutlineHeader(location: Location, node: DocumentationNode, to: StringBuilder) { + with(to.appendHTML()) { + //a(href = ) + li { + when { + node.kind == NodeKind.Package -> appendOutline(location, to, node.members) + } + } + } + } + + override fun appendOutlineLevel(to: StringBuilder, body: () -> Unit) { + with(to.appendHTML()) { + ul { body() } + } + } + +} + +class JavaLayoutHtmlFormatGenerator @Inject constructor( + private val outlineFormatService: OutlineFormatService +) : Generator { + override fun buildPages(nodes: Iterable<DocumentationNode>) { + + } + + override fun buildOutlines(nodes: Iterable<DocumentationNode>) { + for (node in nodes) { + if (node.kind == NodeKind.Module) { + //outlineFormatService.formatOutline() + } + } + } + + override fun buildSupportFiles() {} + + override fun buildPackageList(nodes: Iterable<DocumentationNode>) { + + } +}
\ No newline at end of file diff --git a/core/src/main/kotlin/Formats/JekyllFormatService.kt b/core/src/main/kotlin/Formats/JekyllFormatService.kt index 6b97bbe0..a948dfa9 100644 --- a/core/src/main/kotlin/Formats/JekyllFormatService.kt +++ b/core/src/main/kotlin/Formats/JekyllFormatService.kt @@ -6,12 +6,11 @@ import org.jetbrains.dokka.Utilities.impliedPlatformsName open class JekyllOutputBuilder(to: StringBuilder, location: Location, - locationService: LocationService, + generator: NodeLocationAwareGenerator, languageService: LanguageService, extension: String, impliedPlatforms: List<String>) - : MarkdownOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) -{ + : MarkdownOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { override fun appendNodes(nodes: Iterable<DocumentationNode>) { to.appendln("---") appendFrontMatter(nodes, to) @@ -26,17 +25,20 @@ open class JekyllOutputBuilder(to: StringBuilder, } -open class JekyllFormatService(locationService: LocationService, - signatureGenerator: LanguageService, - linkExtension: String, - impliedPlatforms: List<String>) -: MarkdownFormatService(locationService, signatureGenerator, linkExtension, impliedPlatforms) { +open class JekyllFormatService( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + linkExtension: String, + impliedPlatforms: List<String> +) : MarkdownFormatService(generator, signatureGenerator, linkExtension, impliedPlatforms) { - @Inject constructor(locationService: LocationService, - signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>): this(locationService, signatureGenerator, "html", impliedPlatforms) + @Inject constructor( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + @Named(impliedPlatformsName) impliedPlatforms: List<String> + ) : this(generator, signatureGenerator, "html", impliedPlatforms) override fun createOutputBuilder(to: StringBuilder, location: Location): FormattedOutputBuilder = - JekyllOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + JekyllOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) } diff --git a/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt b/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt index 08349980..a98002d4 100644 --- a/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt +++ b/core/src/main/kotlin/Formats/KotlinWebsiteFormatService.kt @@ -6,14 +6,14 @@ import org.jetbrains.dokka.Utilities.impliedPlatformsName import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty -open class KotlinWebsiteOutputBuilder(to: StringBuilder, - location: Location, - locationService: LocationService, - languageService: LanguageService, - extension: String, - impliedPlatforms: List<String>) - : JekyllOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) -{ +open class KotlinWebsiteOutputBuilder( + to: StringBuilder, + location: Location, + generator: NodeLocationAwareGenerator, + languageService: LanguageService, + extension: String, + impliedPlatforms: List<String> +) : JekyllOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { private var needHardLineBreaks = false private var insideDiv = 0 @@ -70,8 +70,7 @@ open class KotlinWebsiteOutputBuilder(to: StringBuilder, override fun appendHeader(level: Int, body: () -> Unit) { if (insideDiv > 0) { wrapInTag("p", body, newlineAfterClose = true) - } - else { + } else { super.appendHeader(level, body) } } @@ -79,8 +78,7 @@ open class KotlinWebsiteOutputBuilder(to: StringBuilder, override fun appendLine() { if (insideDiv > 0) { to.appendln("<br/>") - } - else { + } else { super.appendLine() } } @@ -135,13 +133,14 @@ open class KotlinWebsiteOutputBuilder(to: StringBuilder, to.append("<br/>") } + override fun appendIndentedSoftLineBreak() { if (needHardLineBreaks) { to.append("<br/> ") } } - private fun identifierClassName(kind: IdentifierKind) = when(kind) { + private fun identifierClassName(kind: IdentifierKind) = when (kind) { IdentifierKind.ParameterName -> "parameterName" IdentifierKind.SummarizedTypeName -> "summarizedTypeName" else -> "identifier" @@ -172,28 +171,29 @@ open class KotlinWebsiteOutputBuilder(to: StringBuilder, } } -class KotlinWebsiteFormatService @Inject constructor(locationService: LocationService, - signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>, - logger: DokkaLogger) - : JekyllFormatService(locationService, signatureGenerator, "html", impliedPlatforms) -{ +class KotlinWebsiteFormatService @Inject constructor( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + @Named(impliedPlatformsName) impliedPlatforms: List<String>, + logger: DokkaLogger +) : JekyllFormatService(generator, signatureGenerator, "html", impliedPlatforms) { init { logger.warn("Format kotlin-website deprecated and will be removed in next release") } override fun createOutputBuilder(to: StringBuilder, location: Location) = - KotlinWebsiteOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + KotlinWebsiteOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) } -class KotlinWebsiteRunnableSamplesOutputBuilder(to: StringBuilder, - location: Location, - locationService: LocationService, - languageService: LanguageService, - extension: String, - impliedPlatforms: List<String>) - : KotlinWebsiteOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) { +class KotlinWebsiteRunnableSamplesOutputBuilder( + to: StringBuilder, + location: Location, + generator: NodeLocationAwareGenerator, + languageService: LanguageService, + extension: String, + impliedPlatforms: List<String> +) : KotlinWebsiteOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { override fun appendSampleBlockCode(language: String, imports: () -> Unit, body: () -> Unit) { div(to, "sample", markdown = true) { @@ -207,17 +207,18 @@ class KotlinWebsiteRunnableSamplesOutputBuilder(to: StringBuilder, } } -class KotlinWebsiteRunnableSamplesFormatService @Inject constructor(locationService: LocationService, - signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>, - logger: DokkaLogger) - : JekyllFormatService(locationService, signatureGenerator, "html", impliedPlatforms) { +class KotlinWebsiteRunnableSamplesFormatService @Inject constructor( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + @Named(impliedPlatformsName) impliedPlatforms: List<String>, + logger: DokkaLogger +) : JekyllFormatService(generator, signatureGenerator, "html", impliedPlatforms) { init { logger.warn("Format kotlin-website-samples deprecated and will be removed in next release") } override fun createOutputBuilder(to: StringBuilder, location: Location) = - KotlinWebsiteRunnableSamplesOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + KotlinWebsiteRunnableSamplesOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) } diff --git a/core/src/main/kotlin/Formats/KotlinWebsiteHtmlFormatService.kt b/core/src/main/kotlin/Formats/KotlinWebsiteHtmlFormatService.kt index 378401f3..6ced75b5 100644 --- a/core/src/main/kotlin/Formats/KotlinWebsiteHtmlFormatService.kt +++ b/core/src/main/kotlin/Formats/KotlinWebsiteHtmlFormatService.kt @@ -4,23 +4,25 @@ import com.google.inject.Inject import com.google.inject.name.Named import org.jetbrains.dokka.Utilities.impliedPlatformsName import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty -import java.nio.file.Path +import java.io.File -private object EmptyHtmlTemplateService : HtmlTemplateService { +object EmptyHtmlTemplateService : HtmlTemplateService { override fun appendFooter(to: StringBuilder) {} - override fun appendHeader(to: StringBuilder, title: String?, basePath: Path) {} + override fun appendHeader(to: StringBuilder, title: String?, basePath: File) {} } -open class KotlinWebsiteHtmlOutputBuilder(to: StringBuilder, - location: Location, - locationService: LocationService, - languageService: LanguageService, - extension: String, - impliedPlatforms: List<String>) - : HtmlOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms, EmptyHtmlTemplateService) { +open class KotlinWebsiteHtmlOutputBuilder( + to: StringBuilder, + location: Location, + generator: NodeLocationAwareGenerator, + languageService: LanguageService, + extension: String, + impliedPlatforms: List<String>, + templateService: HtmlTemplateService +) : HtmlOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms, templateService) { private var needHardLineBreaks = false private var insideDiv = 0 @@ -169,14 +171,16 @@ open class KotlinWebsiteHtmlOutputBuilder(to: StringBuilder, } } -class KotlinWebsiteHtmlFormatService @Inject constructor(locationService: LocationService, - signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>) - : HtmlFormatService(locationService, signatureGenerator, EmptyHtmlTemplateService, impliedPlatforms) { +class KotlinWebsiteHtmlFormatService @Inject constructor( + generator: NodeLocationAwareGenerator, + signatureGenerator: LanguageService, + @Named(impliedPlatformsName) impliedPlatforms: List<String>, + templateService: HtmlTemplateService +) : HtmlFormatService(generator, signatureGenerator, templateService, impliedPlatforms) { override fun enumerateSupportFiles(callback: (String, String) -> Unit) {} override fun createOutputBuilder(to: StringBuilder, location: Location) = - KotlinWebsiteHtmlOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + KotlinWebsiteHtmlOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms, templateService) } diff --git a/core/src/main/kotlin/Formats/MarkdownFormatService.kt b/core/src/main/kotlin/Formats/MarkdownFormatService.kt index a7c18a28..4265394f 100644 --- a/core/src/main/kotlin/Formats/MarkdownFormatService.kt +++ b/core/src/main/kotlin/Formats/MarkdownFormatService.kt @@ -21,11 +21,11 @@ private val TWO_LINE_BREAKS = System.lineSeparator() + System.lineSeparator() open class MarkdownOutputBuilder(to: StringBuilder, location: Location, - locationService: LocationService, + generator: NodeLocationAwareGenerator, languageService: LanguageService, extension: String, impliedPlatforms: List<String>) - : StructuredOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + : StructuredOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) { private val listStack = ArrayDeque<ListState>() protected var inTableCell = false @@ -225,15 +225,15 @@ open class MarkdownOutputBuilder(to: StringBuilder, } } -open class MarkdownFormatService(locationService: LocationService, +open class MarkdownFormatService(generator: NodeLocationAwareGenerator, signatureGenerator: LanguageService, linkExtension: String, val impliedPlatforms: List<String>) -: StructuredFormatService(locationService, signatureGenerator, "md", linkExtension) { - @Inject constructor(locationService: LocationService, +: StructuredFormatService(generator, signatureGenerator, "md", linkExtension) { + @Inject constructor(generator: NodeLocationAwareGenerator, signatureGenerator: LanguageService, - @Named(impliedPlatformsName) impliedPlatforms: List<String>): this(locationService, signatureGenerator, "md", impliedPlatforms) + @Named(impliedPlatformsName) impliedPlatforms: List<String>): this(generator, signatureGenerator, "md", impliedPlatforms) override fun createOutputBuilder(to: StringBuilder, location: Location): FormattedOutputBuilder = - MarkdownOutputBuilder(to, location, locationService, languageService, extension, impliedPlatforms) + MarkdownOutputBuilder(to, location, generator, languageService, extension, impliedPlatforms) } diff --git a/core/src/main/kotlin/Formats/PackageListService.kt b/core/src/main/kotlin/Formats/PackageListService.kt index e7f4e952..7b68098e 100644 --- a/core/src/main/kotlin/Formats/PackageListService.kt +++ b/core/src/main/kotlin/Formats/PackageListService.kt @@ -7,10 +7,10 @@ interface PackageListService { fun formatPackageList(module: DocumentationModule): String } -class DefaultPackageListService @Inject constructor(locationService: FileLocationService, - val formatService: FormatService) : PackageListService { - - val locationService: FileLocationService = locationService.withExtension(formatService.linkExtension) +class DefaultPackageListService @Inject constructor( + val generator: NodeLocationAwareGenerator, + val formatService: FormatService +) : PackageListService { override fun formatPackageList(module: DocumentationModule): String { val packages = mutableSetOf<String>() @@ -26,7 +26,7 @@ class DefaultPackageListService @Inject constructor(locationService: FileLocatio } NodeKind.Signature -> { if (relocated) - nonStandardLocations[node.name] = locationService.relativePathToLocation(module, node.owner!!) + nonStandardLocations[node.name] = generator.relativePathToLocation(module, node.owner!!) } NodeKind.ExternalClass -> { node.members.forEach { visit(it, relocated = true) } diff --git a/core/src/main/kotlin/Formats/StandardFormats.kt b/core/src/main/kotlin/Formats/StandardFormats.kt index f3d638c6..dd67ac97 100644 --- a/core/src/main/kotlin/Formats/StandardFormats.kt +++ b/core/src/main/kotlin/Formats/StandardFormats.kt @@ -1,41 +1,36 @@ package org.jetbrains.dokka.Formats +import com.google.inject.Binder import org.jetbrains.dokka.* -import org.jetbrains.dokka.Kotlin.KotlinAsJavaDescriptorSignatureProvider -import org.jetbrains.dokka.Kotlin.KotlinDescriptorSignatureProvider -import org.jetbrains.dokka.Model.DescriptorSignatureProvider -import org.jetbrains.dokka.Samples.DefaultSampleProcessingService import org.jetbrains.dokka.Samples.KotlinWebsiteSampleProcessingService -import org.jetbrains.dokka.Samples.SampleProcessingService +import org.jetbrains.dokka.Utilities.bind import kotlin.reflect.KClass -abstract class KotlinFormatDescriptorBase : FormatDescriptor { - override val packageDocumentationBuilderClass = KotlinPackageDocumentationBuilder::class - override val javaDocumentationBuilderClass = KotlinJavaDocumentationBuilder::class - +abstract class KotlinFormatDescriptorBase + : FileGeneratorBasedFormatDescriptor(), + DefaultAnalysisComponent, + DefaultAnalysisComponentServices by KotlinAsKotlin { override val generatorServiceClass = FileGenerator::class override val outlineServiceClass: KClass<out OutlineFormatService>? = null - override val sampleProcessingService: KClass<out SampleProcessingService> = DefaultSampleProcessingService::class override val packageListServiceClass: KClass<out PackageListService>? = DefaultPackageListService::class - override val descriptorSignatureProvider = KotlinDescriptorSignatureProvider::class -} - -class HtmlFormatDescriptor : KotlinFormatDescriptorBase() { - override val formatServiceClass = HtmlFormatService::class - override val outlineServiceClass = HtmlFormatService::class } -class HtmlAsJavaFormatDescriptor : FormatDescriptor { +abstract class HtmlFormatDescriptorBase : FileGeneratorBasedFormatDescriptor(), DefaultAnalysisComponent { override val formatServiceClass = HtmlFormatService::class override val outlineServiceClass = HtmlFormatService::class override val generatorServiceClass = FileGenerator::class - override val packageDocumentationBuilderClass = KotlinAsJavaDocumentationBuilder::class - override val javaDocumentationBuilderClass = JavaPsiDocumentationBuilder::class - override val sampleProcessingService: KClass<out SampleProcessingService> = DefaultSampleProcessingService::class - override val packageListServiceClass: KClass<out PackageListService>? = DefaultPackageListService::class - override val descriptorSignatureProvider = KotlinAsJavaDescriptorSignatureProvider::class + override val packageListServiceClass = DefaultPackageListService::class + + override fun configureOutput(binder: Binder): Unit = with(binder) { + super.configureOutput(binder) + bind<HtmlTemplateService>().toProvider { HtmlTemplateService.default("style.css") } + } } +class HtmlFormatDescriptor : HtmlFormatDescriptorBase(), DefaultAnalysisComponentServices by KotlinAsKotlin + +class HtmlAsJavaFormatDescriptor : HtmlFormatDescriptorBase(), DefaultAnalysisComponentServices by KotlinAsJava + class KotlinWebsiteFormatDescriptor : KotlinFormatDescriptorBase() { override val formatServiceClass = KotlinWebsiteFormatService::class override val outlineServiceClass = YamlOutlineService::class @@ -51,6 +46,11 @@ class KotlinWebsiteHtmlFormatDescriptor : KotlinFormatDescriptorBase() { override val formatServiceClass = KotlinWebsiteHtmlFormatService::class override val sampleProcessingService = KotlinWebsiteSampleProcessingService::class override val outlineServiceClass = YamlOutlineService::class + + override fun configureOutput(binder: Binder) = with(binder) { + super.configureOutput(binder) + bind<HtmlTemplateService>().toInstance(EmptyHtmlTemplateService) + } } class JekyllFormatDescriptor : KotlinFormatDescriptorBase() { diff --git a/core/src/main/kotlin/Formats/StructuredFormatService.kt b/core/src/main/kotlin/Formats/StructuredFormatService.kt index 5167a102..952e14cf 100644 --- a/core/src/main/kotlin/Formats/StructuredFormatService.kt +++ b/core/src/main/kotlin/Formats/StructuredFormatService.kt @@ -7,11 +7,13 @@ data class FormatLink(val text: String, val href: String) abstract class StructuredOutputBuilder(val to: StringBuilder, val location: Location, - val locationService: LocationService, + val generator: NodeLocationAwareGenerator, val languageService: LanguageService, val extension: String, val impliedPlatforms: List<String>) : FormattedOutputBuilder { + protected fun DocumentationNode.location() = generator.location(this) + protected fun wrap(prefix: String, suffix: String, body: () -> Unit) { to.append(prefix) body() @@ -204,16 +206,16 @@ abstract class StructuredOutputBuilder(val to: StringBuilder, if (from.owner?.kind == NodeKind.GroupNode) return link(from.owner!!, to, extension, name) - return FormatLink(name(to), locationService.relativePathToLocation(from, to)) + return FormatLink(name(to), from.location().relativePathTo(to.location())) } fun locationHref(from: Location, to: DocumentationNode): String { val topLevelPage = to.references(RefKind.TopLevelPage).singleOrNull()?.to if (topLevelPage != null) { val signature = to.detailOrNull(NodeKind.Signature) - return from.relativePathTo(locationService.location(topLevelPage), signature?.name ?: to.name) + return from.relativePathTo(topLevelPage.location(), signature?.name ?: to.name) } - return from.relativePathTo(locationService.location(to)) + return from.relativePathTo(to.location()) } private fun DocumentationNode.isModuleOrPackage(): Boolean = @@ -349,7 +351,8 @@ abstract class StructuredOutputBuilder(val to: StringBuilder, overrides.forEach { appendParagraph { to.append("Overrides ") - val location = locationService.relativePathToLocation(this, it) + val location = location().relativePathTo(it.location()) + appendLink(FormatLink(it.owner!!.name + "." + it.name, location)) } } @@ -383,7 +386,7 @@ abstract class StructuredOutputBuilder(val to: StringBuilder, else platformsToShow - if(platforms.isEmpty()) return + if (platforms.isEmpty()) return appendParagraph { appendStrong { to.append("Platform and version requirements:") } @@ -674,9 +677,9 @@ abstract class StructuredOutputBuilder(val to: StringBuilder, } } -abstract class StructuredFormatService(locationService: LocationService, +abstract class StructuredFormatService(val generator: NodeLocationAwareGenerator, val languageService: LanguageService, override val extension: String, override final val linkExtension: String = extension) : FormatService { - val locationService: LocationService = locationService.withExtension(linkExtension) + } diff --git a/core/src/main/kotlin/Formats/YamlOutlineService.kt b/core/src/main/kotlin/Formats/YamlOutlineService.kt index 7968824c..c36f98eb 100644 --- a/core/src/main/kotlin/Formats/YamlOutlineService.kt +++ b/core/src/main/kotlin/Formats/YamlOutlineService.kt @@ -3,15 +3,17 @@ package org.jetbrains.dokka import com.google.inject.Inject import java.io.File -class YamlOutlineService @Inject constructor(val locationService: LocationService, - val languageService: LanguageService) : OutlineFormatService { +class YamlOutlineService @Inject constructor( + val generator: NodeLocationAwareGenerator, + val languageService: LanguageService +) : OutlineFormatService { override fun getOutlineFileName(location: Location): File = File("${location.path}.yml") var outlineLevel = 0 override fun appendOutlineHeader(location: Location, node: DocumentationNode, to: StringBuilder) { val indent = " ".repeat(outlineLevel) to.appendln("$indent- title: ${languageService.renderName(node)}") - to.appendln("$indent url: ${locationService.location(node).path}") + to.appendln("$indent url: ${generator.location(node).path}") } override fun appendOutlineLevel(to: StringBuilder, body: () -> Unit) { diff --git a/core/src/main/kotlin/Generation/ConsoleGenerator.kt b/core/src/main/kotlin/Generation/ConsoleGenerator.kt deleted file mode 100644 index 301f86b9..00000000 --- a/core/src/main/kotlin/Generation/ConsoleGenerator.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.jetbrains.dokka - -class ConsoleGenerator(val signatureGenerator: LanguageService, val locationService: LocationService) { - val IndentStep = " " - - fun generate(node: DocumentationNode, indent: String = "") { - println("@${locationService.location(node).path}") - generateHeader(node, indent) - //generateDetails(node, indent) - generateMembers(node, indent) - generateLinks(node, indent) - } - - fun generateHeader(node: DocumentationNode, indent: String = "") { - println(indent + signatureGenerator.render(node)) - val docString = node.content.toString() - if (!docString.isEmpty()) - println("$indent\"${docString.replace("\n", "\n$indent")}\"") - println() - } - - fun generateMembers(node: DocumentationNode, indent: String = "") { - val items = node.members.sortedBy { it.name } - for (child in items) - generate(child, indent + IndentStep) - } - - fun generateDetails(node: DocumentationNode, indent: String = "") { - val items = node.details - for (child in items) - generate(child, indent + " ") - } - - fun generateLinks(node: DocumentationNode, indent: String = "") { - val items = node.links - if (items.isEmpty()) - return - println("$indent Links") - for (child in items) - generate(child, indent + " ") - } -}
\ No newline at end of file diff --git a/core/src/main/kotlin/Generation/FileGenerator.kt b/core/src/main/kotlin/Generation/FileGenerator.kt index e055c537..bc08e180 100644 --- a/core/src/main/kotlin/Generation/FileGenerator.kt +++ b/core/src/main/kotlin/Generation/FileGenerator.kt @@ -1,28 +1,43 @@ package org.jetbrains.dokka import com.google.inject.Inject +import com.google.inject.name.Named +import org.jetbrains.kotlin.utils.fileUtils.withReplacedExtensionOrNull import java.io.File import java.io.FileOutputStream import java.io.IOException import java.io.OutputStreamWriter -class FileGenerator @Inject constructor(val locationService: FileLocationService) : Generator { +class FileGenerator @Inject constructor(@Named("outputDir") val rootFile: File) : NodeLocationAwareGenerator { @set:Inject(optional = true) var outlineService: OutlineFormatService? = null @set:Inject(optional = true) lateinit var formatService: FormatService @set:Inject(optional = true) lateinit var options: DocumentationOptions @set:Inject(optional = true) var packageListService: PackageListService? = null + override val root: File = rootFile + + override fun location(node: DocumentationNode): FileLocation { + return FileLocation(fileForNode(node, formatService.linkExtension)) + } + + private fun fileForNode(node: DocumentationNode, extension: String = ""): File { + return File(root, relativePathToNode(node)).appendExtension(extension) + } + + fun locationWithoutExtension(node: DocumentationNode): FileLocation { + return FileLocation(fileForNode(node)) + } + override fun buildPages(nodes: Iterable<DocumentationNode>) { - val specificLocationService = locationService.withExtension(formatService.extension) - for ((location, items) in nodes.groupBy { specificLocationService.location(it) }) { - val file = location.file + for ((file, items) in nodes.groupBy { fileForNode(it, formatService.extension) }) { + file.parentFile?.mkdirsOrFail() try { FileOutputStream(file).use { OutputStreamWriter(it, Charsets.UTF_8).use { - it.write(formatService.format(location, items)) + it.write(formatService.format(location(items.first()), items)) } } } catch (e: Throwable) { @@ -34,7 +49,7 @@ class FileGenerator @Inject constructor(val locationService: FileLocationService override fun buildOutlines(nodes: Iterable<DocumentationNode>) { val outlineService = this.outlineService ?: return - for ((location, items) in nodes.groupBy { locationService.location(it) }) { + for ((location, items) in nodes.groupBy { locationWithoutExtension(it) }) { val file = outlineService.getOutlineFileName(location) file.parentFile?.mkdirsOrFail() FileOutputStream(file).use { @@ -47,7 +62,7 @@ class FileGenerator @Inject constructor(val locationService: FileLocationService override fun buildSupportFiles() { formatService.enumerateSupportFiles { resource, targetPath -> - FileOutputStream(locationService.location(listOf(targetPath), false).file).use { + FileOutputStream(File(root, relativePathToNode(listOf(targetPath), false))).use { javaClass.getResourceAsStream(resource).copyTo(it) } } @@ -58,7 +73,7 @@ class FileGenerator @Inject constructor(val locationService: FileLocationService for (module in nodes) { - val moduleRoot = locationService.location(module).file.parentFile + val moduleRoot = location(module).file.parentFile val packageListFile = File(moduleRoot, "package-list") packageListFile.writeText("\$dokka.format:${options.outputFormat}\n" + diff --git a/core/src/main/kotlin/Generation/Generator.kt b/core/src/main/kotlin/Generation/Generator.kt index 76a5f350..23286e29 100644 --- a/core/src/main/kotlin/Generation/Generator.kt +++ b/core/src/main/kotlin/Generation/Generator.kt @@ -1,5 +1,7 @@ package org.jetbrains.dokka +import java.io.File + interface Generator { fun buildPages(nodes: Iterable<DocumentationNode>) fun buildOutlines(nodes: Iterable<DocumentationNode>) @@ -19,3 +21,9 @@ fun Generator.buildPage(node: DocumentationNode): Unit = buildPages(listOf(node) fun Generator.buildOutline(node: DocumentationNode): Unit = buildOutlines(listOf(node)) fun Generator.buildAll(node: DocumentationNode): Unit = buildAll(listOf(node)) + + +interface NodeLocationAwareGenerator: Generator { + fun location(node: DocumentationNode): Location + val root: File +}
\ No newline at end of file diff --git a/core/src/main/kotlin/Locations/FoldersLocationService.kt b/core/src/main/kotlin/Locations/FoldersLocationService.kt deleted file mode 100644 index 83e1cf6a..00000000 --- a/core/src/main/kotlin/Locations/FoldersLocationService.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.jetbrains.dokka - -import com.google.inject.Inject -import com.google.inject.name.Named -import java.io.File - -class FoldersLocationService @Inject constructor(@Named("outputDir") val rootFile: File, val extension: String) : FileLocationService { - constructor(root: String): this(File(root), "") - - override val root: Location - get() = FileLocation(rootFile) - - override fun withExtension(newExtension: String): FileLocationService { - return if (extension.isEmpty()) FoldersLocationService(rootFile, newExtension) else this - } - - override fun location(qualifiedName: List<String>, hasMembers: Boolean): FileLocation { - return FileLocation(File(rootFile, relativePathToNode(qualifiedName, hasMembers)).appendExtension(extension)) - } -} - -fun relativePathToNode(qualifiedName: List<String>, hasMembers: Boolean): String { - val parts = qualifiedName.map { identifierToFilename(it) }.filterNot { it.isEmpty() } - return if (!hasMembers) { - // leaf node, use file in owner's folder - parts.joinToString("/") - } else { - parts.joinToString("/") + (if (parts.none()) "" else "/") + "index" - } -} diff --git a/core/src/main/kotlin/Locations/Location.kt b/core/src/main/kotlin/Locations/Location.kt new file mode 100644 index 00000000..0e6572d9 --- /dev/null +++ b/core/src/main/kotlin/Locations/Location.kt @@ -0,0 +1,61 @@ +package org.jetbrains.dokka + +import java.io.File + +interface Location { + val path: String get + fun relativePathTo(other: Location, anchor: String? = null): String +} + +/** + * Represents locations in the documentation in the form of [path](File). + * + * $file: [File] for this location + * $path: [String] representing path of this location + */ +data class FileLocation(val file: File) : Location { + override val path: String + get() = file.path + + override fun relativePathTo(other: Location, anchor: String?): String { + if (other !is FileLocation) { + throw IllegalArgumentException("$other is not a FileLocation") + } + if (file.path.substringBeforeLast(".") == other.file.path.substringBeforeLast(".") && anchor == null) { + return "./${file.name}" + } + val ownerFolder = file.parentFile!! + val relativePath = ownerFolder.toPath().relativize(other.file.toPath()).toString().replace(File.separatorChar, '/') + return if (anchor == null) relativePath else relativePath + "#" + anchor + } +} + +fun relativePathToNode(qualifiedName: List<String>, hasMembers: Boolean): String { + val parts = qualifiedName.map { identifierToFilename(it) }.filterNot { it.isEmpty() } + return if (!hasMembers) { + // leaf node, use file in owner's folder + parts.joinToString("/") + } else { + parts.joinToString("/") + (if (parts.none()) "" else "/") + "index" + } +} + + +fun relativePathToNode(node: DocumentationNode) = relativePathToNode(node.path.map { it.name }, node.members.any()) + +fun identifierToFilename(path: String): String { + val escaped = path.replace('<', '-').replace('>', '-') + val lowercase = escaped.replace("[A-Z]".toRegex()) { matchResult -> "-" + matchResult.value.toLowerCase() } + return if (lowercase == "index") "--index--" else lowercase +} + +fun NodeLocationAwareGenerator.relativePathToLocation(owner: DocumentationNode, node: DocumentationNode): String { + return location(owner).relativePathTo(location(node), null) +} + +fun NodeLocationAwareGenerator.relativeToRoot(from: Location): File { + val file = File(from.path) + return file.relativeTo(root) +} + +fun File.toUnixString() = toString().replace(File.separatorChar, '/') diff --git a/core/src/main/kotlin/Locations/LocationService.kt b/core/src/main/kotlin/Locations/LocationService.kt deleted file mode 100644 index a51ef8d4..00000000 --- a/core/src/main/kotlin/Locations/LocationService.kt +++ /dev/null @@ -1,78 +0,0 @@ -package org.jetbrains.dokka - -import java.io.File - -interface Location { - val path: String get - fun relativePathTo(other: Location, anchor: String? = null): String -} - -/** - * Represents locations in the documentation in the form of [path](File). - * - * Locations are provided by [LocationService.location] function. - * - * $file: [File] for this location - * $path: [String] representing path of this location - */ -data class FileLocation(val file: File): Location { - override val path : String - get() = file.path - - override fun relativePathTo(other: Location, anchor: String?): String { - if (other !is FileLocation) { - throw IllegalArgumentException("$other is not a FileLocation") - } - if (file.path.substringBeforeLast(".") == other.file.path.substringBeforeLast(".") && anchor == null) { - return "./${file.name}" - } - val ownerFolder = file.parentFile!! - val relativePath = ownerFolder.toPath().relativize(other.file.toPath()).toString().replace(File.separatorChar, '/') - return if (anchor == null) relativePath else relativePath + "#" + anchor - } -} - -/** - * Provides means of retrieving locations for [DocumentationNode](documentation nodes) - * - * `LocationService` determines where documentation for particular node should be generated - * - * * [FoldersLocationService] – represent packages and types as folders, members as files in those folders. - * * [SingleFolderLocationService] – all documentation is generated into single folder using fully qualified names - * for file names. - */ -interface LocationService { - fun withExtension(newExtension: String) = this - - fun location(node: DocumentationNode): Location = location(node.path.map { it.name }, node.members.any()) - - /** - * Calculates a location corresponding to the specified [qualifiedName]. - * @param hasMembers if true, the node for which the location is calculated has member nodes. - */ - fun location(qualifiedName: List<String>, hasMembers: Boolean): Location - - val root: Location -} - - -interface FileLocationService: LocationService { - override fun withExtension(newExtension: String): FileLocationService = this - - override fun location(node: DocumentationNode): FileLocation = location(node.path.map { it.name }, node.members.any()) - override fun location(qualifiedName: List<String>, hasMembers: Boolean): FileLocation -} - - -fun identifierToFilename(path: String): String { - val escaped = path.replace('<', '-').replace('>', '-') - val lowercase = escaped.replace("[A-Z]".toRegex()) { matchResult -> "-" + matchResult.value.toLowerCase() } - return if (lowercase == "index") "--index--" else lowercase -} - -/** - * Returns relative location between two nodes. Used for relative links in documentation. - */ -fun LocationService.relativePathToLocation(owner: DocumentationNode, node: DocumentationNode): String { - return location(owner).relativePathTo(location(node), null) -} diff --git a/core/src/main/kotlin/Locations/SingleFolderLocationService.kt b/core/src/main/kotlin/Locations/SingleFolderLocationService.kt deleted file mode 100644 index 1b4fdc28..00000000 --- a/core/src/main/kotlin/Locations/SingleFolderLocationService.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.jetbrains.dokka - -import com.google.inject.Inject -import com.google.inject.name.Named -import java.io.File - -class SingleFolderLocationService @Inject constructor(@Named("outputDir") val rootFile: File, val extension: String) : FileLocationService { - constructor(root: String): this(File(root), "") - - override fun withExtension(newExtension: String): FileLocationService = - SingleFolderLocationService(rootFile, newExtension) - - override fun location(qualifiedName: List<String>, hasMembers: Boolean): FileLocation { - val filename = qualifiedName.map { identifierToFilename(it) }.joinToString("-") - return FileLocation(File(rootFile, filename).appendExtension(extension)) - } - - override val root: Location - get() = FileLocation(rootFile) -}
\ No newline at end of file diff --git a/core/src/main/kotlin/Utilities/DokkaModules.kt b/core/src/main/kotlin/Utilities/DokkaModules.kt index dfb114ec..36704918 100644 --- a/core/src/main/kotlin/Utilities/DokkaModules.kt +++ b/core/src/main/kotlin/Utilities/DokkaModules.kt @@ -4,6 +4,7 @@ import com.google.inject.Binder import com.google.inject.Module import com.google.inject.Provider import com.google.inject.TypeLiteral +import com.google.inject.binder.AnnotatedBindingBuilder import com.google.inject.name.Names import org.jetbrains.dokka.* import org.jetbrains.dokka.Formats.FormatDescriptor @@ -11,6 +12,7 @@ import org.jetbrains.dokka.Model.DescriptorSignatureProvider import org.jetbrains.dokka.Samples.SampleProcessingService import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment import java.io.File +import kotlin.reflect.KClass const val impliedPlatformsName = "impliedPlatforms" @@ -22,13 +24,6 @@ class DokkaAnalysisModule(val environment: AnalysisEnvironment, override fun configure(binder: Binder) { binder.bind<DokkaLogger>().toInstance(logger) - val descriptor = ServiceLocator.lookup<FormatDescriptor>("format", options.outputFormat) - binder.bind<DescriptorSignatureProvider>().to(descriptor.descriptorSignatureProvider.java) - binder.registerCategory<LanguageService>("language") - binder.bind<PackageDocumentationBuilder>().to(descriptor.packageDocumentationBuilderClass.java) - binder.bind<JavaDocumentationBuilder>().to(descriptor.javaDocumentationBuilderClass.java) - binder.bind<SampleProcessingService>().to(descriptor.sampleProcessingService.java) - val coreEnvironment = environment.createCoreEnvironment() binder.bind<KotlinCoreEnvironment>().toInstance(coreEnvironment) @@ -40,6 +35,9 @@ class DokkaAnalysisModule(val environment: AnalysisEnvironment, binder.bind<DefaultPlatformsProvider>().toInstance(defaultPlatformsProvider) binder.bind<NodeReferenceGraph>().toInstance(nodeReferenceGraph) + + val descriptor = ServiceLocator.lookup<FormatDescriptor>("format", options.outputFormat) + descriptor.configureAnalysis(binder) } } @@ -48,43 +46,15 @@ object StringListType : TypeLiteral<@JvmSuppressWildcards List<String>>() class DokkaOutputModule(val options: DocumentationOptions, val logger: DokkaLogger) : Module { override fun configure(binder: Binder) { - binder.bind(LanguageService::class.java).to(KotlinLanguageService::class.java) - - binder.bind(HtmlTemplateService::class.java).toProvider(object : Provider<HtmlTemplateService> { - override fun get(): HtmlTemplateService = HtmlTemplateService.default("style.css") - }) - binder.bind(File::class.java).annotatedWith(Names.named("outputDir")).toInstance(File(options.outputDir)) - binder.bindNameAnnotated<LocationService, SingleFolderLocationService>("singleFolder") - binder.bindNameAnnotated<FileLocationService, SingleFolderLocationService>("singleFolder") - binder.bindNameAnnotated<LocationService, FoldersLocationService>("folders") - binder.bindNameAnnotated<FileLocationService, FoldersLocationService>("folders") - - // defaults - binder.bind(LocationService::class.java).to(FoldersLocationService::class.java) - binder.bind(FileLocationService::class.java).to(FoldersLocationService::class.java) - - binder.registerCategory<OutlineFormatService>("outline") - binder.registerCategory<FormatService>("format") - binder.registerCategory<Generator>("generator") - - val descriptor = ServiceLocator.lookup<FormatDescriptor>("format", options.outputFormat) - - descriptor.outlineServiceClass?.let { clazz -> - binder.bind(OutlineFormatService::class.java).to(clazz.java) - } - descriptor.formatServiceClass?.let { clazz -> - binder.bind(FormatService::class.java).to(clazz.java) - } - - binder.bind<Generator>().to(descriptor.generatorServiceClass.java) - - descriptor.packageListServiceClass?.let { binder.bind<PackageListService>().to(it.java) } - binder.bind<DocumentationOptions>().toInstance(options) binder.bind<DokkaLogger>().toInstance(logger) binder.bind(StringListType).annotatedWith(Names.named(impliedPlatformsName)).toInstance(options.impliedPlatforms) + + val descriptor = ServiceLocator.lookup<FormatDescriptor>("format", options.outputFormat) + + descriptor.configureOutput(binder) } } @@ -100,4 +70,11 @@ private inline fun <reified Base : Any, reified T : Base> Binder.bindNameAnnotat } -inline fun <reified T: Any> Binder.bind() = bind(T::class.java) +inline fun <reified T: Any> Binder.bind(): AnnotatedBindingBuilder<T> = bind(T::class.java) + +inline fun <reified T: Any> Binder.lazyBind(): Lazy<AnnotatedBindingBuilder<T>> = lazy { bind(T::class.java) } + +inline infix fun <reified T: Any, TKClass: KClass<out T>> Lazy<AnnotatedBindingBuilder<T>>.toOptional(kClass: TKClass?) = + kClass?.let { value toType it } + +inline infix fun <reified T: Any, TKClass: KClass<out T>> AnnotatedBindingBuilder<T>.toType(kClass: TKClass) = to(kClass.java) diff --git a/core/src/main/kotlin/javadoc/dokka-adapters.kt b/core/src/main/kotlin/javadoc/dokka-adapters.kt index c98a3801..4676db18 100644 --- a/core/src/main/kotlin/javadoc/dokka-adapters.kt +++ b/core/src/main/kotlin/javadoc/dokka-adapters.kt @@ -1,13 +1,12 @@ package org.jetbrains.dokka.javadoc +import com.google.inject.Binder import com.google.inject.Inject import com.sun.tools.doclets.formats.html.HtmlDoclet import org.jetbrains.dokka.* -import org.jetbrains.dokka.Formats.FormatDescriptor -import org.jetbrains.dokka.Kotlin.KotlinAsJavaDescriptorSignatureProvider -import org.jetbrains.dokka.Model.DescriptorSignatureProvider -import org.jetbrains.dokka.Samples.DefaultSampleProcessingService -import kotlin.reflect.KClass +import org.jetbrains.dokka.Formats.* +import org.jetbrains.dokka.Utilities.bind +import org.jetbrains.dokka.Utilities.toType class JavadocGenerator @Inject constructor(val options: DocumentationOptions, val logger: DokkaLogger) : Generator { @@ -30,13 +29,12 @@ class JavadocGenerator @Inject constructor(val options: DocumentationOptions, va } } -class JavadocFormatDescriptor : FormatDescriptor { - override val formatServiceClass = null - override val outlineServiceClass = null - override val generatorServiceClass = JavadocGenerator::class - override val packageDocumentationBuilderClass = KotlinAsJavaDocumentationBuilder::class - override val javaDocumentationBuilderClass = JavaPsiDocumentationBuilder::class - override val sampleProcessingService = DefaultSampleProcessingService::class - override val packageListServiceClass: KClass<out PackageListService>? = null - override val descriptorSignatureProvider = KotlinAsJavaDescriptorSignatureProvider::class +class JavadocFormatDescriptor : + FormatDescriptor, + DefaultAnalysisComponent, + DefaultAnalysisComponentServices by KotlinAsJava { + + override fun configureOutput(binder: Binder): Unit = with(binder) { + bind<Generator>() toType JavadocGenerator::class + } } diff --git a/core/src/main/resources/dokka/format/java-layout-html.properties b/core/src/main/resources/dokka/format/java-layout-html.properties new file mode 100644 index 00000000..fbb2bbed --- /dev/null +++ b/core/src/main/resources/dokka/format/java-layout-html.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatDescriptor +description=Produces Kotlin Style Docs with Javadoc like layout
\ No newline at end of file diff --git a/core/src/main/resources/dokka/format/javadoc.properties b/core/src/main/resources/dokka/format/javadoc.properties index a58317fc..a0d8a945 100644 --- a/core/src/main/resources/dokka/format/javadoc.properties +++ b/core/src/main/resources/dokka/format/javadoc.properties @@ -1 +1,2 @@ -class=org.jetbrains.dokka.javadoc.JavadocFormatDescriptor
\ No newline at end of file +class=org.jetbrains.dokka.javadoc.JavadocFormatDescriptor +description=Produces Javadoc, with Kotlin declarations as Java view
\ No newline at end of file diff --git a/core/src/main/resources/dokka/generator/default.properties b/core/src/main/resources/dokka/generator/default.properties deleted file mode 100644 index a4a16200..00000000 --- a/core/src/main/resources/dokka/generator/default.properties +++ /dev/null @@ -1,2 +0,0 @@ -class=org.jetbrains.dokka.FileGenerator -description=Default documentation generator
\ No newline at end of file diff --git a/core/src/main/resources/dokka/generator/javadoc.properties b/core/src/main/resources/dokka/generator/javadoc.properties deleted file mode 100644 index 4075704f..00000000 --- a/core/src/main/resources/dokka/generator/javadoc.properties +++ /dev/null @@ -1,2 +0,0 @@ -class=org.jetbrains.dokka.javadoc.JavadocGenerator -description=Produces output via JDK javadoc tool
\ No newline at end of file diff --git a/core/src/main/resources/dokka/language/java.properties b/core/src/main/resources/dokka/language/java.properties deleted file mode 100644 index ab42f532..00000000 --- a/core/src/main/resources/dokka/language/java.properties +++ /dev/null @@ -1 +0,0 @@ -class=org.jetbrains.dokka.JavaLanguageService
\ No newline at end of file diff --git a/core/src/main/resources/dokka/language/kotlin.properties b/core/src/main/resources/dokka/language/kotlin.properties deleted file mode 100644 index 16092007..00000000 --- a/core/src/main/resources/dokka/language/kotlin.properties +++ /dev/null @@ -1 +0,0 @@ -class=org.jetbrains.dokka.KotlinLanguageService
\ No newline at end of file diff --git a/core/src/main/resources/dokka/outline/yaml.properties b/core/src/main/resources/dokka/outline/yaml.properties deleted file mode 100644 index 7268af37..00000000 --- a/core/src/main/resources/dokka/outline/yaml.properties +++ /dev/null @@ -1 +0,0 @@ -class=org.jetbrains.dokka.YamlOutlineService
\ No newline at end of file diff --git a/core/src/test/kotlin/TestAPI.kt b/core/src/test/kotlin/TestAPI.kt index ff8a5260..aa3eff48 100644 --- a/core/src/test/kotlin/TestAPI.kt +++ b/core/src/test/kotlin/TestAPI.kt @@ -270,21 +270,6 @@ fun ContentNode.toTestString(): String { }.toString() } -class InMemoryLocation(override val path: String): Location { - override fun relativePathTo(other: Location, anchor: String?): String = - if (anchor != null) other.path + "#" + anchor else other.path -} - -object InMemoryLocationService: LocationService { - override fun location(qualifiedName: List<String>, hasMembers: Boolean) = - InMemoryLocation(relativePathToNode(qualifiedName, hasMembers)) - - override val root: Location - get() = InMemoryLocation("") -} - -val tempLocation = InMemoryLocation("") - val ContentRoot.path: String get() = when(this) { is KotlinSourceRoot -> path diff --git a/core/src/test/kotlin/format/FileGeneratorTestCase.kt b/core/src/test/kotlin/format/FileGeneratorTestCase.kt new file mode 100644 index 00000000..948426ea --- /dev/null +++ b/core/src/test/kotlin/format/FileGeneratorTestCase.kt @@ -0,0 +1,35 @@ +package org.jetbrains.dokka.tests + +import org.jetbrains.dokka.* +import org.junit.Before +import org.junit.Rule +import org.junit.rules.TemporaryFolder + + +abstract class FileGeneratorTestCase { + abstract val formatService: FormatService + + @get:Rule + var folder = TemporaryFolder() + + val fileGenerator = FileGenerator(folder.apply { create() }.root) + + @Before + fun bindGenerator() { + fileGenerator.formatService = formatService + } + + fun buildPagesAndReadInto(nodes: List<DocumentationNode>, sb: StringBuilder) = with(fileGenerator) { + buildPages(nodes) + val byLocations = nodes.groupBy { location(it) } + byLocations.forEach { (loc, _) -> + if (byLocations.size > 1) { + if (sb.isNotBlank() && !sb.endsWith('\n')) { + sb.appendln() + } + sb.appendln("<!-- File: ${relativeToRoot(loc).toUnixString()} -->") + } + sb.append(loc.file.readText()) + } + } +}
\ No newline at end of file diff --git a/core/src/test/kotlin/format/GFMFormatTest.kt b/core/src/test/kotlin/format/GFMFormatTest.kt index c097c5c8..b90ab2bf 100644 --- a/core/src/test/kotlin/format/GFMFormatTest.kt +++ b/core/src/test/kotlin/format/GFMFormatTest.kt @@ -4,20 +4,25 @@ import org.jetbrains.dokka.GFMFormatService import org.jetbrains.dokka.KotlinLanguageService import org.junit.Test -class GFMFormatTest { - private val gfmService = GFMFormatService(InMemoryLocationService, KotlinLanguageService(), listOf()) +class GFMFormatTest : FileGeneratorTestCase() { + override val formatService = GFMFormatService(fileGenerator, KotlinLanguageService(), listOf()) - @Test fun sample() { + @Test + fun sample() { verifyGFMNodeByName("sample", "Foo") } - @Test fun listInTableCell() { + @Test + fun listInTableCell() { verifyGFMNodeByName("listInTableCell", "Foo") } private fun verifyGFMNodeByName(fileName: String, name: String) { verifyOutput("testdata/format/gfm/$fileName.kt", ".md") { model, output -> - gfmService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == name }) + buildPagesAndReadInto( + model.members.single().members.filter { it.name == name }, + output + ) } } } diff --git a/core/src/test/kotlin/format/HtmlFormatTest.kt b/core/src/test/kotlin/format/HtmlFormatTest.kt index 01e4559e..54c367fd 100644 --- a/core/src/test/kotlin/format/HtmlFormatTest.kt +++ b/core/src/test/kotlin/format/HtmlFormatTest.kt @@ -3,11 +3,12 @@ package org.jetbrains.dokka.tests import org.jetbrains.dokka.* import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot import org.jetbrains.kotlin.config.KotlinSourceRoot +import org.junit.Before import org.junit.Test import java.io.File -class HtmlFormatTest { - private val htmlService = HtmlFormatService(InMemoryLocationService, KotlinLanguageService(), HtmlTemplateService.default(), listOf()) +class HtmlFormatTest: FileGeneratorTestCase() { + override val formatService = HtmlFormatService(fileGenerator, KotlinLanguageService(), HtmlTemplateService.default(), listOf()) @Test fun classWithCompanionObject() { verifyHtmlNode("classWithCompanionObject") @@ -31,10 +32,10 @@ class HtmlFormatTest { @Test fun deprecated() { verifyOutput("testdata/format/deprecated.kt", ".package.html") { model, output -> - htmlService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } verifyOutput("testdata/format/deprecated.kt", ".class.html") { model, output -> - htmlService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + buildPagesAndReadInto(model.members.single().members, output) } } @@ -102,7 +103,10 @@ class HtmlFormatTest { verifyOutput(arrayOf(KotlinSourceRoot("testdata/format/crossLanguage/kotlinExtendsJava/Bar.kt"), JavaSourceRoot(File("testdata/format/crossLanguage/kotlinExtendsJava"), null)), ".html") { model, output -> - htmlService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == "Bar" }) + buildPagesAndReadInto( + model.members.single().members.filter { it.name == "Bar" }, + output + ) } } @@ -158,7 +162,7 @@ class HtmlFormatTest { withKotlinRuntime: Boolean = false, nodeFilter: (DocumentationModule) -> List<DocumentationNode>) { verifyOutput("testdata/format/$fileName.kt", ".html", withKotlinRuntime = withKotlinRuntime) { model, output -> - htmlService.createOutputBuilder(output, tempLocation).appendNodes(nodeFilter(model)) + buildPagesAndReadInto(nodeFilter(model), output) } } @@ -170,7 +174,7 @@ class HtmlFormatTest { withKotlinRuntime: Boolean = false, nodeFilter: (DocumentationModule) -> List<DocumentationNode>) { verifyJavaOutput("testdata/format/$fileName.java", ".html", withKotlinRuntime = withKotlinRuntime) { model, output -> - htmlService.createOutputBuilder(output, tempLocation).appendNodes(nodeFilter(model)) + buildPagesAndReadInto(nodeFilter(model), output) } } } diff --git a/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt b/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt index af44b048..b971b54d 100644 --- a/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt +++ b/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt @@ -1,12 +1,13 @@ package org.jetbrains.dokka.tests import org.jetbrains.dokka.* +import org.junit.Before import org.junit.Ignore import org.junit.Test @Ignore -class KotlinWebSiteFormatTest { - private val kwsService = KotlinWebsiteFormatService(InMemoryLocationService, KotlinLanguageService(), listOf(), DokkaConsoleLogger) +class KotlinWebSiteFormatTest: FileGeneratorTestCase() { + override val formatService = KotlinWebsiteFormatService(fileGenerator, KotlinLanguageService(), listOf(), DokkaConsoleLogger) @Test fun sample() { verifyKWSNodeByName("sample", "foo") @@ -29,14 +30,20 @@ class KotlinWebSiteFormatTest { val path = "dataTagsInGroupNode" val module = buildMultiplePlatforms(path) verifyModelOutput(module, ".md", "testdata/format/website/$path/multiplatform.kt") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode })) + buildPagesAndReadInto( + listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode }), + output + ) } verifyMultiplatformPackage(module, path) } private fun verifyKWSNodeByName(fileName: String, name: String) { verifyOutput("testdata/format/website/$fileName.kt", ".md", format = "kotlin-website") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == name }) + buildPagesAndReadInto( + model.members.single().members.filter { it.name == name }, + output + ) } } @@ -58,7 +65,7 @@ class KotlinWebSiteFormatTest { private fun verifyMultiplatformPackage(module: DocumentationModule, path: String) { verifyModelOutput(module, ".package.md", "testdata/format/website/$path/multiplatform.kt") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } } diff --git a/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt b/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt index 433c9c13..49fa6d2f 100644 --- a/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt +++ b/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt @@ -1,11 +1,11 @@ package org.jetbrains.dokka.tests import org.jetbrains.dokka.* +import org.junit.Before import org.junit.Test -class KotlinWebSiteHtmlFormatTest { - private val kwsService = KotlinWebsiteHtmlFormatService(InMemoryLocationService, KotlinLanguageService(), listOf()) - +class KotlinWebSiteHtmlFormatTest: FileGeneratorTestCase() { + override val formatService = KotlinWebsiteHtmlFormatService(fileGenerator, KotlinLanguageService(), listOf(), EmptyHtmlTemplateService) @Test fun dropImport() { verifyKWSNodeByName("dropImport", "foo") @@ -44,14 +44,17 @@ class KotlinWebSiteHtmlFormatTest { val path = "dataTagsInGroupNode" val module = buildMultiplePlatforms(path) verifyModelOutput(module, ".html", "testdata/format/website-html/$path/multiplatform.kt") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode })) + buildPagesAndReadInto( + listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode }), + output + ) } verifyMultiplatformPackage(module, path) } private fun verifyKWSNodeByName(fileName: String, name: String) { verifyOutput("testdata/format/website-html/$fileName.kt", ".html", format = "kotlin-website-html") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == name }) + buildPagesAndReadInto(model.members.single().members.filter { it.name == name }, output) } } @@ -73,7 +76,7 @@ class KotlinWebSiteHtmlFormatTest { private fun verifyMultiplatformPackage(module: DocumentationModule, path: String) { verifyModelOutput(module, ".package.html", "testdata/format/website-html/$path/multiplatform.kt") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } } diff --git a/core/src/test/kotlin/format/KotlinWebSiteRunnableSamplesFormatTest.kt b/core/src/test/kotlin/format/KotlinWebSiteRunnableSamplesFormatTest.kt index 44155004..453b1de8 100644 --- a/core/src/test/kotlin/format/KotlinWebSiteRunnableSamplesFormatTest.kt +++ b/core/src/test/kotlin/format/KotlinWebSiteRunnableSamplesFormatTest.kt @@ -8,32 +8,32 @@ import org.junit.Test @Ignore class KotlinWebSiteRunnableSamplesFormatTest { - private val kwsService = KotlinWebsiteRunnableSamplesFormatService(InMemoryLocationService, KotlinLanguageService(), listOf(), DokkaConsoleLogger) - - - @Test fun dropImport() { - verifyKWSNodeByName("dropImport", "foo") - } - - @Test fun sample() { - verifyKWSNodeByName("sample", "foo") - } - - @Test fun sampleWithAsserts() { - verifyKWSNodeByName("sampleWithAsserts", "a") - } - - @Test fun newLinesInSamples() { - verifyKWSNodeByName("newLinesInSamples", "foo") - } - - @Test fun newLinesInImportList() { - verifyKWSNodeByName("newLinesInImportList", "foo") - } - - private fun verifyKWSNodeByName(fileName: String, name: String) { - verifyOutput("testdata/format/website-samples/$fileName.kt", ".md", format = "kotlin-website-samples") { model, output -> - kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == name }) - } - } +// private val kwsService = KotlinWebsiteRunnableSamplesFormatService(InMemoryLocationService, KotlinLanguageService(), listOf(), DokkaConsoleLogger) +// +// +// @Test fun dropImport() { +// verifyKWSNodeByName("dropImport", "foo") +// } +// +// @Test fun sample() { +// verifyKWSNodeByName("sample", "foo") +// } +// +// @Test fun sampleWithAsserts() { +// verifyKWSNodeByName("sampleWithAsserts", "a") +// } +// +// @Test fun newLinesInSamples() { +// verifyKWSNodeByName("newLinesInSamples", "foo") +// } +// +// @Test fun newLinesInImportList() { +// verifyKWSNodeByName("newLinesInImportList", "foo") +// } +// +// private fun verifyKWSNodeByName(fileName: String, name: String) { +// verifyOutput("testdata/format/website-samples/$fileName.kt", ".md", format = "kotlin-website-samples") { model, output -> +// kwsService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members.filter { it.name == name }) +// } +// } } diff --git a/core/src/test/kotlin/format/MarkdownFormatTest.kt b/core/src/test/kotlin/format/MarkdownFormatTest.kt index 820af361..f60969fc 100644 --- a/core/src/test/kotlin/format/MarkdownFormatTest.kt +++ b/core/src/test/kotlin/format/MarkdownFormatTest.kt @@ -1,10 +1,11 @@ package org.jetbrains.dokka.tests import org.jetbrains.dokka.* +import org.junit.Before import org.junit.Test -class MarkdownFormatTest { - private val markdownService = MarkdownFormatService(InMemoryLocationService, KotlinLanguageService(), listOf()) +class MarkdownFormatTest: FileGeneratorTestCase() { + override val formatService = MarkdownFormatService(fileGenerator, KotlinLanguageService(), listOf()) @Test fun emptyDescription() { verifyMarkdownNode("emptyDescription") @@ -34,21 +35,23 @@ class MarkdownFormatTest { @Test fun extensions() { verifyOutput("testdata/format/extensions.kt", ".package.md") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } verifyOutput("testdata/format/extensions.kt", ".class.md") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + buildPagesAndReadInto(model.members.single().members, output) } } @Test fun enumClass() { verifyOutput("testdata/format/enumClass.kt", ".md") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + buildPagesAndReadInto(model.members.single().members, output) } verifyOutput("testdata/format/enumClass.kt", ".value.md") { model, output -> val enumClassNode = model.members.single().members[0] - markdownService.createOutputBuilder(output, tempLocation).appendNodes( - enumClassNode.members.filter { it.name == "LOCAL_CONTINUE_AND_BREAK" }) + buildPagesAndReadInto( + enumClassNode.members.filter { it.name == "LOCAL_CONTINUE_AND_BREAK" }, + output + ) } } @@ -282,22 +285,23 @@ class MarkdownFormatTest { @Test fun multiplePlatformsMergeMembers() { val module = buildMultiplePlatforms("multiplatform/mergeMembers") verifyModelOutput(module, ".md", "testdata/format/multiplatform/mergeMembers/foo.kt") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + buildPagesAndReadInto(model.members.single().members, output) } } @Test fun multiplePlatformsOmitRedundant() { val module = buildMultiplePlatforms("multiplatform/omitRedundant") verifyModelOutput(module, ".md", "testdata/format/multiplatform/omitRedundant/foo.kt") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + buildPagesAndReadInto(model.members.single().members, output) } } @Test fun multiplePlatformsImplied() { val module = buildMultiplePlatforms("multiplatform/implied") verifyModelOutput(module, ".md", "testdata/format/multiplatform/implied/foo.kt") { model, output -> - MarkdownFormatService(InMemoryLocationService, KotlinLanguageService(), listOf("JVM", "JS")) - .createOutputBuilder(output, tempLocation).appendNodes(model.members.single().members) + val service = MarkdownFormatService(fileGenerator, KotlinLanguageService(), listOf("JVM", "JS")) + fileGenerator.formatService = service + buildPagesAndReadInto(model.members.single().members, output) } } @@ -328,8 +332,10 @@ class MarkdownFormatTest { val path = "multiplatform/groupNode" val module = buildMultiplePlatforms(path) verifyModelOutput(module, ".md", "testdata/format/$path/multiplatform.kt") { model, output -> - markdownService.createOutputBuilder(output, tempLocation) - .appendNodes(listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode })) + buildPagesAndReadInto( + listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode }), + output + ) } verifyMultiplatformPackage(module, path) } @@ -338,8 +344,10 @@ class MarkdownFormatTest { val path = "multiplatform/breadcrumbsInMemberOfMemberOfGroupNode" val module = buildMultiplePlatforms(path) verifyModelOutput(module, ".md", "testdata/format/$path/multiplatform.kt") { model, output -> - markdownService.createOutputBuilder(output, tempLocation) - .appendNodes(listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode }?.member(NodeKind.Class)?.member(NodeKind.Function))) + buildPagesAndReadInto( + listOfNotNull(model.members.single().members.find { it.kind == NodeKind.GroupNode }?.member(NodeKind.Class)?.member(NodeKind.Function)), + output + ) } } @@ -428,15 +436,16 @@ class MarkdownFormatTest { private fun verifyMultiplatformPackage(module: DocumentationModule, path: String) { verifyModelOutput(module, ".package.md", "testdata/format/$path/multiplatform.kt") { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } } private fun verifyMultiplatformIndex(module: DocumentationModule, path: String) { verifyModelOutput(module, ".md", "testdata/format/$path/multiplatform.index.kt") { model, output -> - MarkdownFormatService(InMemoryLocationService, KotlinLanguageService(), listOf()) - .createOutputBuilder(output, tempLocation).appendNodes(listOf(model)) + val service = MarkdownFormatService(fileGenerator, KotlinLanguageService(), listOf()) + fileGenerator.formatService = service + buildPagesAndReadInto(listOf(model), output) } } @@ -446,7 +455,7 @@ class MarkdownFormatTest { private fun verifyMarkdownPackage(fileName: String, withKotlinRuntime: Boolean = false) { verifyOutput("testdata/format/$fileName.kt", ".package.md", withKotlinRuntime = withKotlinRuntime) { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(model.members) + buildPagesAndReadInto(model.members, output) } } @@ -466,7 +475,7 @@ class MarkdownFormatTest { withKotlinRuntime = withKotlinRuntime, includeNonPublic = includeNonPublic ) { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(nodeFilter(model)) + buildPagesAndReadInto(nodeFilter(model), output) } } @@ -476,7 +485,7 @@ class MarkdownFormatTest { private fun verifyJavaMarkdownNodes(fileName: String, withKotlinRuntime: Boolean = false, nodeFilter: (DocumentationModule) -> List<DocumentationNode>) { verifyJavaOutput("testdata/format/$fileName.java", ".md", withKotlinRuntime = withKotlinRuntime) { model, output -> - markdownService.createOutputBuilder(output, tempLocation).appendNodes(nodeFilter(model)) + buildPagesAndReadInto(nodeFilter(model), output) } } diff --git a/core/src/test/kotlin/format/PackageDocsTest.kt b/core/src/test/kotlin/format/PackageDocsTest.kt index a5547025..704f7b99 100644 --- a/core/src/test/kotlin/format/PackageDocsTest.kt +++ b/core/src/test/kotlin/format/PackageDocsTest.kt @@ -5,14 +5,13 @@ import com.nhaarman.mockito_kotlin.doAnswer import com.nhaarman.mockito_kotlin.eq import com.nhaarman.mockito_kotlin.mock import org.jetbrains.dokka.* -import org.jetbrains.dokka.tests.InMemoryLocationService import org.jetbrains.dokka.tests.assertEqualsIgnoringSeparators import org.jetbrains.kotlin.descriptors.PackageFragmentDescriptor import org.junit.Assert.assertEquals import org.junit.Test import java.io.File -public class PackageDocsTest { +class PackageDocsTest { @Test fun verifyParse() { val docs = PackageDocs(null, DokkaConsoleLogger) docs.parse("testdata/packagedocs/stdlib.md", emptyList()) @@ -37,8 +36,17 @@ public class PackageDocsTest { fun checkMarkdownOutput(docs: PackageDocs, expectedFilePrefix: String) { + val generator = FileGenerator(File("")) + val out = StringBuilder() - val outputBuilder = MarkdownOutputBuilder(out, InMemoryLocationService.root, InMemoryLocationService, KotlinLanguageService(), ".md", emptyList()) + val outputBuilder = MarkdownOutputBuilder( + out, + FileLocation(generator.root), + generator, + KotlinLanguageService(), + ".md", + emptyList() + ) fun checkOutput(content: Content, filePostfix: String) { outputBuilder.appendContent(content) val expectedFile = File(expectedFilePrefix + filePostfix) diff --git a/core/testdata/format/JavaSupertype.html b/core/testdata/format/JavaSupertype.html index 3e5e273a..27b8e5d0 100644 --- a/core/testdata/format/JavaSupertype.html +++ b/core/testdata/format/JavaSupertype.html @@ -4,16 +4,16 @@ <title>JavaSupertype.Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-java-supertype/index">JavaSupertype</a> / <a href="test/-java-supertype/-bar/index">Bar</a><br/> +<a href="../../index.html">test</a> / <a href="../index.html">JavaSupertype</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> -<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="test/-java-supertype/-foo/index"><span class="identifier">Foo</span></a></code> +<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="../-foo/index.html"><span class="identifier">Foo</span></a></code> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-java-supertype/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code></td> @@ -25,10 +25,10 @@ <tbody> <tr> <td> -<p><a href="test/-java-supertype/-bar/return-foo">returnFoo</a></p> +<p><a href="return-foo.html">returnFoo</a></p> </td> <td> -<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">returnFoo</span><span class="symbol">(</span><span class="identifier" id="JavaSupertype.Bar$returnFoo(JavaSupertype.Foo)/foo">foo</span><span class="symbol">:</span> <a href="test/-java-supertype/-foo/index"><span class="identifier">Foo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="test/-java-supertype/-foo/index"><span class="identifier">Foo</span></a></code></td> +<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">returnFoo</span><span class="symbol">(</span><span class="identifier" id="JavaSupertype.Bar$returnFoo(JavaSupertype.Foo)/foo">foo</span><span class="symbol">:</span> <a href="../-foo/index.html"><span class="identifier">Foo</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="../-foo/index.html"><span class="identifier">Foo</span></a></code></td> </tr> </tbody> </table> diff --git a/core/testdata/format/accessor.md b/core/testdata/format/accessor.md index dcdef0f8..190e8538 100644 --- a/core/testdata/format/accessor.md +++ b/core/testdata/format/accessor.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) / [x](test/-c/x) +[test](../index.md) / [C](index.md) / [x](./x.md) # x diff --git a/core/testdata/format/annotatedTypeParameter.md b/core/testdata/format/annotatedTypeParameter.md index aa8b8592..aa622eac 100644 --- a/core/testdata/format/annotatedTypeParameter.md +++ b/core/testdata/format/annotatedTypeParameter.md @@ -1,5 +1,5 @@ -[test](test/index) / [containsAll](test/contains-all) +[test](index.md) / [containsAll](./contains-all.md) # containsAll -`fun <E> containsAll(elements: Collection<@UnsafeVariance `[`E`](test/contains-all#E)`>): @UnsafeVariance `[`E`](test/contains-all#E)
\ No newline at end of file +`fun <E> containsAll(elements: Collection<@UnsafeVariance `[`E`](contains-all.md#E)`>): @UnsafeVariance `[`E`](contains-all.md#E)
\ No newline at end of file diff --git a/core/testdata/format/annotationClass.md b/core/testdata/format/annotationClass.md index 2f4da736..55fda40c 100644 --- a/core/testdata/format/annotationClass.md +++ b/core/testdata/format/annotationClass.md @@ -1,4 +1,4 @@ -[test](test/index) / [fancy](test/fancy/index) +[test](../index.md) / [fancy](./index.md) # fancy @@ -6,5 +6,5 @@ ### Constructors -| [<init>](test/fancy/-init-) | `fancy()` | +| [<init>](-init-.md) | `fancy()` | diff --git a/core/testdata/format/annotationClass.package.md b/core/testdata/format/annotationClass.package.md index f52b28b6..c8aff7a3 100644 --- a/core/testdata/format/annotationClass.package.md +++ b/core/testdata/format/annotationClass.package.md @@ -1,8 +1,8 @@ -[test](test/index) +[test](./index.md) ## Package <root> ### Annotations -| [fancy](test/fancy/index) | `annotation class fancy` | +| [fancy](fancy/index.md) | `annotation class fancy` | diff --git a/core/testdata/format/annotationParams.md b/core/testdata/format/annotationParams.md index 132078ce..cfa3b822 100644 --- a/core/testdata/format/annotationParams.md +++ b/core/testdata/format/annotationParams.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/annotations.md b/core/testdata/format/annotations.md index cc27d5af..2e1604d0 100644 --- a/core/testdata/format/annotations.md +++ b/core/testdata/format/annotations.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -6,13 +6,13 @@ ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | ### Properties -| [x](test/-foo/x) | `val x: Int` | +| [x](x.md) | `val x: Int` | ### Functions -| [bar](test/-foo/bar) | `fun bar(notInlined: () -> Unit): Unit` | +| [bar](bar.md) | `fun bar(notInlined: () -> Unit): Unit` | diff --git a/core/testdata/format/arrayAverage.md b/core/testdata/format/arrayAverage.md index 7cc31c47..2c6927d6 100644 --- a/core/testdata/format/arrayAverage.md +++ b/core/testdata/format/arrayAverage.md @@ -1,4 +1,4 @@ -[test](test/index) / [XArray](test/-x-array/index) +[test](../index.md) / [XArray](./index.md) # XArray @@ -6,9 +6,9 @@ ### Constructors -| [<init>](test/-x-array/-init-) | `XArray()` | +| [<init>](-init-.md) | `XArray()` | ### Extension Functions -| [average](test/average) | `fun `[`XArray`](test/-x-array/index)`<out Byte>.average(): Double`<br>`fun `[`XArray`](test/-x-array/index)`<out Double>.average(): Double`<br>`fun `[`XArray`](test/-x-array/index)`<out Float>.average(): Double`<br>`fun `[`XArray`](test/-x-array/index)`<out Int>.average(): Double`<br>`fun `[`XArray`](test/-x-array/index)`<out Long>.average(): Double`<br>`fun `[`XArray`](test/-x-array/index)`<out Short>.average(): Double` | +| [average](../average.md) | `fun `[`XArray`](./index.md)`<out Byte>.average(): Double`<br>`fun `[`XArray`](./index.md)`<out Double>.average(): Double`<br>`fun `[`XArray`](./index.md)`<out Float>.average(): Double`<br>`fun `[`XArray`](./index.md)`<out Int>.average(): Double`<br>`fun `[`XArray`](./index.md)`<out Long>.average(): Double`<br>`fun `[`XArray`](./index.md)`<out Short>.average(): Double` | diff --git a/core/testdata/format/backtickInCodeBlock.md b/core/testdata/format/backtickInCodeBlock.md index fc244630..830539ac 100644 --- a/core/testdata/format/backtickInCodeBlock.md +++ b/core/testdata/format/backtickInCodeBlock.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo diff --git a/core/testdata/format/blankLineInsideCodeBlock.html b/core/testdata/format/blankLineInsideCodeBlock.html index 168dd0dd..f0351d72 100644 --- a/core/testdata/format/blankLineInsideCodeBlock.html +++ b/core/testdata/format/blankLineInsideCodeBlock.html @@ -4,7 +4,7 @@ <title>u - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/u">u</a><br/> +<a href="index.html">test</a> / <a href="./u.html">u</a><br/> <br/> <h1>u</h1> <a name="$u()"></a> diff --git a/core/testdata/format/blankLineInsideCodeBlock.md b/core/testdata/format/blankLineInsideCodeBlock.md index 66f4d65f..956f8954 100644 --- a/core/testdata/format/blankLineInsideCodeBlock.md +++ b/core/testdata/format/blankLineInsideCodeBlock.md @@ -1,4 +1,4 @@ -[test](test/index) / [u](test/u) +[test](index.md) / [u](./u.md) # u diff --git a/core/testdata/format/bracket.html b/core/testdata/format/bracket.html index a76ff885..01aaaf04 100644 --- a/core/testdata/format/bracket.html +++ b/core/testdata/format/bracket.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/brokenLink.html b/core/testdata/format/brokenLink.html index d1b8ccb0..c598a73e 100644 --- a/core/testdata/format/brokenLink.html +++ b/core/testdata/format/brokenLink.html @@ -4,7 +4,7 @@ <title>f - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/f">f</a><br/> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f()"></a> diff --git a/core/testdata/format/classWithCompanionObject.html b/core/testdata/format/classWithCompanionObject.html index 2954d5a7..88feea5e 100644 --- a/core/testdata/format/classWithCompanionObject.html +++ b/core/testdata/format/classWithCompanionObject.html @@ -4,7 +4,7 @@ <title>Klass - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-klass/index">Klass</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Klass</a><br/> <br/> <h1>Klass</h1> <code><span class="keyword">class </span><span class="identifier">Klass</span></code> @@ -13,7 +13,7 @@ <tbody> <tr> <td> -<p><a href="test/-klass/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Klass</span><span class="symbol">(</span><span class="symbol">)</span></code></td> @@ -25,7 +25,7 @@ <tbody> <tr> <td> -<p><a href="test/-klass/x">x</a></p> +<p><a href="x.html">x</a></p> </td> <td> <code><span class="keyword">val </span><span class="identifier">x</span><span class="symbol">: </span><span class="identifier">Int</span></code></td> @@ -37,7 +37,7 @@ <tbody> <tr> <td> -<p><a href="test/-klass/foo">foo</a></p> +<p><a href="foo.html">foo</a></p> </td> <td> <code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/classWithCompanionObject.md b/core/testdata/format/classWithCompanionObject.md index 45684c0e..40f605be 100644 --- a/core/testdata/format/classWithCompanionObject.md +++ b/core/testdata/format/classWithCompanionObject.md @@ -1,4 +1,4 @@ -[test](test/index) / [Klass](test/-klass/index) +[test](../index.md) / [Klass](./index.md) # Klass @@ -6,13 +6,13 @@ ### Constructors -| [<init>](test/-klass/-init-) | `Klass()` | +| [<init>](-init-.md) | `Klass()` | ### Companion Object Properties -| [x](test/-klass/x) | `val x: Int` | +| [x](x.md) | `val x: Int` | ### Companion Object Functions -| [foo](test/-klass/foo) | `fun foo(): Unit` | +| [foo](foo.md) | `fun foo(): Unit` | diff --git a/core/testdata/format/codeBlock.html b/core/testdata/format/codeBlock.html index 48c2ffd2..1e07ff09 100644 --- a/core/testdata/format/codeBlock.html +++ b/core/testdata/format/codeBlock.html @@ -1,9 +1,11 @@ +<!-- File: test/-throws/index.html --> <HTML> <HEAD> <meta charset="UTF-8"> +<title>Throws - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-throws/index">Throws</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Throws</a><br/> <br/> <h1>Throws</h1> <code><span class="keyword">class </span><span class="identifier">Throws</span></code> @@ -11,12 +13,50 @@ <p>Example:</p> <pre><code>Throws(IOException::class) fun readFile(name: String): String {...} -</code></pre><a href="test/index">test</a> / <a href="test/-it-does-some-obfuscated-thing/index">ItDoesSomeObfuscatedThing</a><br/> +</code></pre> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">Throws</span><span class="symbol">(</span><span class="symbol">)</span></code> +<p>This annotation indicates what exceptions should be declared by a function when compiled to a JVM method.</p> +</td> +</tr> +</tbody> +</table> +</BODY> +</HTML> +<!-- File: test/-it-does-some-obfuscated-thing/index.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>ItDoesSomeObfuscatedThing - test</title> +</HEAD> +<BODY> +<a href="../index.html">test</a> / <a href="./index.html">ItDoesSomeObfuscatedThing</a><br/> <br/> <h1>ItDoesSomeObfuscatedThing</h1> <code><span class="keyword">class </span><span class="identifier">ItDoesSomeObfuscatedThing</span></code> <p>Check output of</p> <pre><code class="lang-brainfuck">++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. </code></pre> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">ItDoesSomeObfuscatedThing</span><span class="symbol">(</span><span class="symbol">)</span></code> +<p>Check output of</p> +</td> +</tr> +</tbody> +</table> </BODY> </HTML> diff --git a/core/testdata/format/codeBlock.md b/core/testdata/format/codeBlock.md index d64fb9fd..d183a8ba 100644 --- a/core/testdata/format/codeBlock.md +++ b/core/testdata/format/codeBlock.md @@ -1,4 +1,5 @@ -[test](test/index) / [Throws](test/-throws/index) +<!-- File: test/-throws/index.md --> +[test](../index.md) / [Throws](./index.md) # Throws @@ -13,7 +14,12 @@ Throws(IOException::class) fun readFile(name: String): String {...} ``` -[test](test/index) / [ItDoesSomeObfuscatedThing](test/-it-does-some-obfuscated-thing/index) +### Constructors + +| [<init>](-init-.md) | `Throws()`<br>This annotation indicates what exceptions should be declared by a function when compiled to a JVM method. | + +<!-- File: test/-it-does-some-obfuscated-thing/index.md --> +[test](../index.md) / [ItDoesSomeObfuscatedThing](./index.md) # ItDoesSomeObfuscatedThing @@ -25,3 +31,7 @@ Check output of ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. ``` +### Constructors + +| [<init>](-init-.md) | `ItDoesSomeObfuscatedThing()`<br>Check output of | + diff --git a/core/testdata/format/codeBlockNoHtmlEscape.md b/core/testdata/format/codeBlockNoHtmlEscape.md index 2622ef38..548dac4f 100644 --- a/core/testdata/format/codeBlockNoHtmlEscape.md +++ b/core/testdata/format/codeBlockNoHtmlEscape.md @@ -1,4 +1,4 @@ -[test](test/index) / [hackTheArithmetic](test/hack-the-arithmetic) +[test](index.md) / [hackTheArithmetic](./hack-the-arithmetic.md) # hackTheArithmetic diff --git a/core/testdata/format/codeSpan.html b/core/testdata/format/codeSpan.html index 33cbdba3..bfe93f36 100644 --- a/core/testdata/format/codeSpan.html +++ b/core/testdata/format/codeSpan.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/companionImplements.md b/core/testdata/format/companionImplements.md index 8a93ed6b..aac7b3e6 100644 --- a/core/testdata/format/companionImplements.md +++ b/core/testdata/format/companionImplements.md @@ -1,16 +1,16 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo `class Foo` -Correct ref [Foo.Companion](test/-foo/-companion) +Correct ref [Foo.Companion](-companion.md) ### Types -| [Companion](test/-foo/-companion) | `companion object Companion : `[`Bar`](test/-bar) | +| [Companion](-companion.md) | `companion object Companion : `[`Bar`](../-bar.md) | ### Constructors -| [<init>](test/-foo/-init-) | `Foo()`<br>Correct ref [Foo.Companion](test/-foo/-companion) | +| [<init>](-init-.md) | `Foo()`<br>Correct ref [Foo.Companion](-companion.md) | diff --git a/core/testdata/format/companionObjectExtension.md b/core/testdata/format/companionObjectExtension.md index e019c184..c0e268e6 100644 --- a/core/testdata/format/companionObjectExtension.md +++ b/core/testdata/format/companionObjectExtension.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -6,9 +6,9 @@ ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | ### Companion Object Extension Properties -| [x](test/x) | `val Foo.Default.x: Int`<br>The default object property. | +| [x](../x.md) | `val Foo.Default.x: Int`<br>The default object property. | diff --git a/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html index 42f21d3c..8842969e 100644 --- a/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html +++ b/core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html @@ -4,21 +4,21 @@ <title>Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/test/index">test</a> / <a href="test/test/-bar/index">Bar</a><br/> +<a href="../../index.html">test</a> / <a href="../index.html">test</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> -<code><span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="test/test/-foo/index"><span class="identifier">Foo</span></a></code> -<p>See <a href="test/test/-foo/xyzzy">xyzzy</a></p> +<code><span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="../-foo/index.html"><span class="identifier">Foo</span></a></code> +<p>See <a href="../-foo/xyzzy.html">xyzzy</a></p> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/test/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code> -<p>See <a href="test/test/-foo/xyzzy">xyzzy</a></p> +<p>See <a href="../-foo/xyzzy.html">xyzzy</a></p> </td> </tr> </tbody> @@ -28,7 +28,7 @@ <tbody> <tr> <td> -<p><a href="test/test/-foo/xyzzy">xyzzy</a></p> +<p><a href="../-foo/xyzzy.html">xyzzy</a></p> </td> <td> <code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">xyzzy</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/deprecated.class.html b/core/testdata/format/deprecated.class.html index 66eb9ff1..540060d1 100644 --- a/core/testdata/format/deprecated.class.html +++ b/core/testdata/format/deprecated.class.html @@ -1,22 +1,54 @@ +<!-- File: test/-c/index.html --> <HTML> <HEAD> <meta charset="UTF-8"> +<title>C - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-c/index">C</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">C</a><br/> <br/> <h1>C</h1> <code><span class="keyword">class </span><s><span class="identifier">C</span></s></code><br/> <strong>Deprecated:</strong> This class sucks<br/> <br/> -<a href="test/index">test</a> / <a href="test/f">f</a><br/> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">C</span><span class="symbol">(</span><span class="symbol">)</span></code></td> +</tr> +</tbody> +</table> +</BODY> +</HTML> +<!-- File: test/f.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>f - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f()"></a> <code><span class="keyword">fun </span><s><span class="identifier">f</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> <strong>Deprecated:</strong> This function sucks<br/> <br/> -<a href="test/index">test</a> / <a href="test/p">p</a><br/> +</BODY> +</HTML> +<!-- File: test/p.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>p - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./p.html">p</a><br/> <br/> <h1>p</h1> <a name="$p"></a> diff --git a/core/testdata/format/deprecated.package.html b/core/testdata/format/deprecated.package.html index b85e53bd..3506de61 100644 --- a/core/testdata/format/deprecated.package.html +++ b/core/testdata/format/deprecated.package.html @@ -4,7 +4,7 @@ <title>root package - test</title> </HEAD> <BODY> -<a href="test/index">test</a><br/> +<a href="./index.html">test</a><br/> <br/> <h2>Package <root></h2> <h3>Types</h3> @@ -12,7 +12,7 @@ <tbody> <tr> <td> -<p><a href="test/-c/index">C</a></p> +<p><a href="-c/index.html">C</a></p> </td> <td> <code><span class="keyword">class </span><s><span class="identifier">C</span></s></code></td> @@ -24,7 +24,7 @@ <tbody> <tr> <td> -<p><a href="test/p">p</a></p> +<p><a href="p.html">p</a></p> </td> <td> <code><span class="keyword">val </span><s><span class="identifier">p</span></s><span class="symbol">: </span><span class="identifier">Int</span></code></td> @@ -36,7 +36,7 @@ <tbody> <tr> <td> -<p><a href="test/f">f</a></p> +<p><a href="f.html">f</a></p> </td> <td> <code><span class="keyword">fun </span><s><span class="identifier">f</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/dynamicExtension.md b/core/testdata/format/dynamicExtension.md index 2fd928f6..382cf973 100644 --- a/core/testdata/format/dynamicExtension.md +++ b/core/testdata/format/dynamicExtension.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -6,5 +6,5 @@ ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | diff --git a/core/testdata/format/dynamicType.md b/core/testdata/format/dynamicType.md index a3d6696b..07a1d103 100644 --- a/core/testdata/format/dynamicType.md +++ b/core/testdata/format/dynamicType.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo diff --git a/core/testdata/format/emptyDescription.md b/core/testdata/format/emptyDescription.md index 8c0fe109..5d56d968 100644 --- a/core/testdata/format/emptyDescription.md +++ b/core/testdata/format/emptyDescription.md @@ -1,4 +1,4 @@ -[test](test/index) / [fn](test/fn) +[test](index.md) / [fn](./fn.md) # fn diff --git a/core/testdata/format/entity.html b/core/testdata/format/entity.html index abe89502..639f2903 100644 --- a/core/testdata/format/entity.html +++ b/core/testdata/format/entity.html @@ -4,7 +4,7 @@ <title>Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-bar/index">Bar</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> <code><span class="keyword">class </span><span class="identifier">Bar</span></code> @@ -14,7 +14,7 @@ <tbody> <tr> <td> -<p><a href="test/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code> diff --git a/core/testdata/format/enumClass.md b/core/testdata/format/enumClass.md index d3a6f186..50cccfbb 100644 --- a/core/testdata/format/enumClass.md +++ b/core/testdata/format/enumClass.md @@ -1,4 +1,4 @@ -[test](test/index) / [InlineOption](test/-inline-option/index) +[test](../index.md) / [InlineOption](./index.md) # InlineOption @@ -6,6 +6,6 @@ ### Enum Values -| [ONLY_LOCAL_RETURN](test/-inline-option/-o-n-l-y_-l-o-c-a-l_-r-e-t-u-r-n) | | -| [LOCAL_CONTINUE_AND_BREAK](test/-inline-option/-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k) | | +| [ONLY_LOCAL_RETURN](-o-n-l-y_-l-o-c-a-l_-r-e-t-u-r-n.md) | | +| [LOCAL_CONTINUE_AND_BREAK](-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k.md) | | diff --git a/core/testdata/format/enumClass.value.md b/core/testdata/format/enumClass.value.md index feed2fe5..150016cc 100644 --- a/core/testdata/format/enumClass.value.md +++ b/core/testdata/format/enumClass.value.md @@ -1,4 +1,4 @@ -[test](test/index) / [InlineOption](test/-inline-option/index) / [LOCAL_CONTINUE_AND_BREAK](test/-inline-option/-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k) +[test](../index.md) / [InlineOption](index.md) / [LOCAL_CONTINUE_AND_BREAK](./-l-o-c-a-l_-c-o-n-t-i-n-u-e_-a-n-d_-b-r-e-a-k.md) # LOCAL_CONTINUE_AND_BREAK diff --git a/core/testdata/format/exceptionClass.md b/core/testdata/format/exceptionClass.md index e3714ecc..1e928bb6 100644 --- a/core/testdata/format/exceptionClass.md +++ b/core/testdata/format/exceptionClass.md @@ -1,4 +1,4 @@ -[test](test/index) / [MyException](test/-my-exception/index) +[test](../index.md) / [MyException](./index.md) # MyException @@ -6,5 +6,5 @@ ### Constructors -| [<init>](test/-my-exception/-init-) | `MyException()` | +| [<init>](-init-.md) | `MyException()` | diff --git a/core/testdata/format/exceptionClass.package.md b/core/testdata/format/exceptionClass.package.md index e10478e4..8716df0a 100644 --- a/core/testdata/format/exceptionClass.package.md +++ b/core/testdata/format/exceptionClass.package.md @@ -1,8 +1,8 @@ -[test](test/index) +[test](./index.md) ## Package <root> ### Exceptions -| [MyException](test/-my-exception/index) | `class MyException : Exception` | +| [MyException](-my-exception/index.md) | `class MyException : Exception` | diff --git a/core/testdata/format/exclInCodeBlock.md b/core/testdata/format/exclInCodeBlock.md index 9c9e424a..d665c415 100644 --- a/core/testdata/format/exclInCodeBlock.md +++ b/core/testdata/format/exclInCodeBlock.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo diff --git a/core/testdata/format/extensionFunctionParameter.md b/core/testdata/format/extensionFunctionParameter.md index 501d731d..e1e85824 100644 --- a/core/testdata/format/extensionFunctionParameter.md +++ b/core/testdata/format/extensionFunctionParameter.md @@ -1,5 +1,5 @@ -[test](test/index) / [apply](test/apply) +[test](index.md) / [apply](./apply.md) # apply -`inline fun <T> `[`T`](test/apply#T)`.apply(f: `[`T`](test/apply#T)`.() -> Unit): `[`T`](test/apply#T)
\ No newline at end of file +`inline fun <T> `[`T`](apply.md#T)`.apply(f: `[`T`](apply.md#T)`.() -> Unit): `[`T`](apply.md#T)
\ No newline at end of file diff --git a/core/testdata/format/extensionScope.md b/core/testdata/format/extensionScope.md index 3515ed84..ea765bd5 100644 --- a/core/testdata/format/extensionScope.md +++ b/core/testdata/format/extensionScope.md @@ -1,8 +1,8 @@ -[test](test/index) / [test](test/test) +[test](index.md) / [test](./test.md) # test `fun test(): Unit` -Correct link: [Foo.ext](test/ext) +Correct link: [Foo.ext](ext.md) diff --git a/core/testdata/format/extensionWithDocumentedReceiver.md b/core/testdata/format/extensionWithDocumentedReceiver.md index 125da37e..0679ac8f 100644 --- a/core/testdata/format/extensionWithDocumentedReceiver.md +++ b/core/testdata/format/extensionWithDocumentedReceiver.md @@ -1,4 +1,4 @@ -[test](test/index) / [kotlin.String](test/kotlin.-string/index) / [fn](test/kotlin.-string/fn) +[test](../index.md) / [kotlin.String](index.md) / [fn](./fn.md) # fn diff --git a/core/testdata/format/extensions.class.md b/core/testdata/format/extensions.class.md index f75b4dc8..b8fa200a 100644 --- a/core/testdata/format/extensions.class.md +++ b/core/testdata/format/extensions.class.md @@ -1,7 +1,7 @@ -[test](test/index) / [foo](test/foo/index) / [kotlin.String](test/foo/kotlin.-string/index) +[test](../../index.md) / [foo](../index.md) / [kotlin.String](./index.md) ### Extensions for kotlin.String -| [fn](test/foo/kotlin.-string/fn) | `fun String.fn(): Unit`<br>`fun String.fn(x: Int): Unit`<br>Function with receiver | -| [foobar](test/foo/kotlin.-string/foobar) | `val String.foobar: Int`<br>Property with receiver. | +| [fn](fn.md) | `fun String.fn(): Unit`<br>`fun String.fn(x: Int): Unit`<br>Function with receiver | +| [foobar](foobar.md) | `val String.foobar: Int`<br>Property with receiver. | diff --git a/core/testdata/format/extensions.package.md b/core/testdata/format/extensions.package.md index 4dc0cfab..ad895116 100644 --- a/core/testdata/format/extensions.package.md +++ b/core/testdata/format/extensions.package.md @@ -1,8 +1,8 @@ -[test](test/index) / [foo](test/foo/index) +[test](../index.md) / [foo](./index.md) ## Package foo ### Extensions for External Classes -| [kotlin.String](test/foo/kotlin.-string/index) | | +| [kotlin.String](kotlin.-string/index.md) | | diff --git a/core/testdata/format/externalReferenceLink.md b/core/testdata/format/externalReferenceLink.md index 29d64afe..38ffde78 100644 --- a/core/testdata/format/externalReferenceLink.md +++ b/core/testdata/format/externalReferenceLink.md @@ -1,4 +1,4 @@ -[test](test/index) / [a](test/a) +[test](index.md) / [a](./a.md) # a diff --git a/core/testdata/format/functionWithDefaultParameter.md b/core/testdata/format/functionWithDefaultParameter.md index 568c106c..05f7fbe6 100644 --- a/core/testdata/format/functionWithDefaultParameter.md +++ b/core/testdata/format/functionWithDefaultParameter.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/functionalTypeWithNamedParameters.html b/core/testdata/format/functionalTypeWithNamedParameters.html index 84a489ff..83d03d8f 100644 --- a/core/testdata/format/functionalTypeWithNamedParameters.html +++ b/core/testdata/format/functionalTypeWithNamedParameters.html @@ -1,25 +1,103 @@ +<!-- File: test/-a/index.html --> <HTML> <HEAD> <meta charset="UTF-8"> +<title>A - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-a/index">A</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">A</a><br/> <br/> <h1>A</h1> -<code><span class="keyword">class </span><span class="identifier">A</span></code><a href="test/index">test</a> / <a href="test/-b/index">B</a><br/> +<code><span class="keyword">class </span><span class="identifier">A</span></code> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">A</span><span class="symbol">(</span><span class="symbol">)</span></code></td> +</tr> +</tbody> +</table> +</BODY> +</HTML> +<!-- File: test/-b/index.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>B - test</title> +</HEAD> +<BODY> +<a href="../index.html">test</a> / <a href="./index.html">B</a><br/> <br/> <h1>B</h1> -<code><span class="keyword">class </span><span class="identifier">B</span></code><a href="test/index">test</a> / <a href="test/-c/index">C</a><br/> +<code><span class="keyword">class </span><span class="identifier">B</span></code> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">B</span><span class="symbol">(</span><span class="symbol">)</span></code></td> +</tr> +</tbody> +</table> +</BODY> +</HTML> +<!-- File: test/-c/index.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>C - test</title> +</HEAD> +<BODY> +<a href="../index.html">test</a> / <a href="./index.html">C</a><br/> <br/> <h1>C</h1> -<code><span class="keyword">class </span><span class="identifier">C</span></code><a href="test/index">test</a> / <a href="test/f">f</a><br/> +<code><span class="keyword">class </span><span class="identifier">C</span></code> +<h3>Constructors</h3> +<table> +<tbody> +<tr> +<td> +<p><a href="-init-.html"><init></a></p> +</td> +<td> +<code><span class="identifier">C</span><span class="symbol">(</span><span class="symbol">)</span></code></td> +</tr> +</tbody> +</table> +</BODY> +</HTML> +<!-- File: test/f.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>f - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f"></a> -<code><span class="keyword">val </span><span class="identifier">f</span><span class="symbol">: </span><span class="symbol">(</span><span class="identifier">a</span><span class="symbol">:</span> <a href="test/-a/index"><span class="identifier">A</span></a><span class="symbol">,</span> <span class="identifier">b</span><span class="symbol">:</span> <a href="test/-b/index"><span class="identifier">B</span></a><span class="symbol">)</span> <span class="symbol">-></span> <a href="test/-c/index"><span class="identifier">C</span></a></code><a href="test/index">test</a> / <a href="test/accept-function-type-with-named-arguments">acceptFunctionTypeWithNamedArguments</a><br/> +<code><span class="keyword">val </span><span class="identifier">f</span><span class="symbol">: </span><span class="symbol">(</span><span class="identifier">a</span><span class="symbol">:</span> <a href="-a/index.html"><span class="identifier">A</span></a><span class="symbol">,</span> <span class="identifier">b</span><span class="symbol">:</span> <a href="-b/index.html"><span class="identifier">B</span></a><span class="symbol">)</span> <span class="symbol">-></span> <a href="-c/index.html"><span class="identifier">C</span></a></code> +</BODY> +</HTML> +<!-- File: test/accept-function-type-with-named-arguments.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>acceptFunctionTypeWithNamedArguments - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./accept-function-type-with-named-arguments.html">acceptFunctionTypeWithNamedArguments</a><br/> <br/> <h1>acceptFunctionTypeWithNamedArguments</h1> <a name="$acceptFunctionTypeWithNamedArguments(kotlin.Function2((B, A, C)))"></a> -<code><span class="keyword">fun </span><span class="identifier">acceptFunctionTypeWithNamedArguments</span><span class="symbol">(</span><span class="identifier" id="$acceptFunctionTypeWithNamedArguments(kotlin.Function2((B, A, C)))/f">f</span><span class="symbol">:</span> <span class="symbol">(</span><span class="identifier">bb</span><span class="symbol">:</span> <a href="test/-b/index"><span class="identifier">B</span></a><span class="symbol">,</span> <span class="identifier">aa</span><span class="symbol">:</span> <a href="test/-a/index"><span class="identifier">A</span></a><span class="symbol">)</span> <span class="symbol">-></span> <a href="test/-c/index"><span class="identifier">C</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code> +<code><span class="keyword">fun </span><span class="identifier">acceptFunctionTypeWithNamedArguments</span><span class="symbol">(</span><span class="identifier" id="$acceptFunctionTypeWithNamedArguments(kotlin.Function2((B, A, C)))/f">f</span><span class="symbol">:</span> <span class="symbol">(</span><span class="identifier">bb</span><span class="symbol">:</span> <a href="-b/index.html"><span class="identifier">B</span></a><span class="symbol">,</span> <span class="identifier">aa</span><span class="symbol">:</span> <a href="-a/index.html"><span class="identifier">A</span></a><span class="symbol">)</span> <span class="symbol">-></span> <a href="-c/index.html"><span class="identifier">C</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code> </BODY> </HTML> diff --git a/core/testdata/format/functionalTypeWithNamedParameters.md b/core/testdata/format/functionalTypeWithNamedParameters.md index 317fa6af..4e78694c 100644 --- a/core/testdata/format/functionalTypeWithNamedParameters.md +++ b/core/testdata/format/functionalTypeWithNamedParameters.md @@ -1,21 +1,45 @@ -[test](test/index) / [A](test/-a/index) +<!-- File: test/-a/index.md --> +[test](../index.md) / [A](./index.md) # A -`class A`[test](test/index) / [B](test/-b/index) +`class A` + +### Constructors + +| [<init>](-init-.md) | `A()` | + +<!-- File: test/-b/index.md --> +[test](../index.md) / [B](./index.md) # B -`class B`[test](test/index) / [C](test/-c/index) +`class B` + +### Constructors + +| [<init>](-init-.md) | `B()` | + +<!-- File: test/-c/index.md --> +[test](../index.md) / [C](./index.md) # C -`class C`[test](test/index) / [f](test/f) +`class C` + +### Constructors + +| [<init>](-init-.md) | `C()` | + +<!-- File: test/f.md --> +[test](index.md) / [f](./f.md) # f -`val f: (a: `[`A`](test/-a/index)`, b: `[`B`](test/-b/index)`) -> `[`C`](test/-c/index)[test](test/index) / [acceptFunctionTypeWithNamedArguments](test/accept-function-type-with-named-arguments) +`val f: (a: `[`A`](-a/index.md)`, b: `[`B`](-b/index.md)`) -> `[`C`](-c/index.md) +<!-- File: test/accept-function-type-with-named-arguments.md --> +[test](index.md) / [acceptFunctionTypeWithNamedArguments](./accept-function-type-with-named-arguments.md) # acceptFunctionTypeWithNamedArguments -`fun acceptFunctionTypeWithNamedArguments(f: (bb: `[`B`](test/-b/index)`, aa: `[`A`](test/-a/index)`) -> `[`C`](test/-c/index)`): Unit`
\ No newline at end of file +`fun acceptFunctionTypeWithNamedArguments(f: (bb: `[`B`](-b/index.md)`, aa: `[`A`](-a/index.md)`) -> `[`C`](-c/index.md)`): Unit`
\ No newline at end of file diff --git a/core/testdata/format/genericInheritedExtensions.md b/core/testdata/format/genericInheritedExtensions.md index 163ff0c9..8d0e316f 100644 --- a/core/testdata/format/genericInheritedExtensions.md +++ b/core/testdata/format/genericInheritedExtensions.md @@ -1,15 +1,15 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar -`class Bar<T> : `[`Foo`](test/-foo/index)`<`[`T`](test/-bar/index#T)`>` +`class Bar<T> : `[`Foo`](../-foo/index.md)`<`[`T`](index.md#T)`>` ### Constructors -| [<init>](test/-bar/-init-) | `Bar()` | +| [<init>](-init-.md) | `Bar()` | ### Extension Functions -| [first](test/first) | `fun <T> `[`Foo`](test/-foo/index)`<`[`T`](test/first#T)`>.first(): Unit` | -| [second](test/second) | `fun <T> `[`Bar`](test/-bar/index)`<`[`T`](test/second#T)`>.second(): Unit` | +| [first](../first.md) | `fun <T> `[`Foo`](../-foo/index.md)`<`[`T`](../first.md#T)`>.first(): Unit` | +| [second](../second.md) | `fun <T> `[`Bar`](./index.md)`<`[`T`](../second.md#T)`>.second(): Unit` | diff --git a/core/testdata/format/gfm/listInTableCell.md b/core/testdata/format/gfm/listInTableCell.md index 73152ac9..359ad916 100644 --- a/core/testdata/format/gfm/listInTableCell.md +++ b/core/testdata/format/gfm/listInTableCell.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -8,10 +8,10 @@ | Name | Summary | |---|---| -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | ### Functions | Name | Summary | |---|---| -| [foo](test/-foo/foo) | `fun foo(): Unit`<ol><li>Foo</li><li>Bar</li></ol> | +| [foo](foo.md) | `fun foo(): Unit`<ol><li>Foo</li><li>Bar</li></ol> | diff --git a/core/testdata/format/gfm/sample.md b/core/testdata/format/gfm/sample.md index c2af1c1e..2b082296 100644 --- a/core/testdata/format/gfm/sample.md +++ b/core/testdata/format/gfm/sample.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -10,11 +10,11 @@ The class Foo. | Name | Summary | |---|---| -| [<init>](test/-foo/-init-) | `Foo()`<br>The class Foo. | +| [<init>](-init-.md) | `Foo()`<br>The class Foo. | ### Functions | Name | Summary | |---|---| -| [bar](test/-foo/bar) | `fun bar(): Unit`<br>The method bar. | -| [baz](test/-foo/baz) | `fun baz(): Unit`<br>The method baz. | +| [bar](bar.md) | `fun bar(): Unit`<br>The method bar. | +| [baz](baz.md) | `fun baz(): Unit`<br>The method baz. | diff --git a/core/testdata/format/htmlEscaping.html b/core/testdata/format/htmlEscaping.html index 17d48161..bd64454d 100644 --- a/core/testdata/format/htmlEscaping.html +++ b/core/testdata/format/htmlEscaping.html @@ -4,11 +4,11 @@ <title>x - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/x">x</a><br/> +<a href="index.html">test</a> / <a href="./x.html">x</a><br/> <br/> <h1>x</h1> <a name="$x()"></a> -<code><span class="keyword">fun </span><span class="symbol"><</span><span class="identifier">T</span><span class="symbol">></span> <span class="identifier">x</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="test/x#T"><span class="identifier">T</span></a><span class="symbol">?</span></code> +<code><span class="keyword">fun </span><span class="symbol"><</span><span class="identifier">T</span><span class="symbol">></span> <span class="identifier">x</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="x.html#T"><span class="identifier">T</span></a><span class="symbol">?</span></code> <p>Special characters: < is "less than", > is "greater than", & is "ampersand"</p> </BODY> </HTML> diff --git a/core/testdata/format/inapplicableExtensionFunctions.md b/core/testdata/format/inapplicableExtensionFunctions.md index 30246faa..08fc2739 100644 --- a/core/testdata/format/inapplicableExtensionFunctions.md +++ b/core/testdata/format/inapplicableExtensionFunctions.md @@ -1,14 +1,14 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar -`class Bar : `[`Foo`](test/-foo/index)`<Char>` +`class Bar : `[`Foo`](../-foo/index.md)`<Char>` ### Constructors -| [<init>](test/-bar/-init-) | `Bar()` | +| [<init>](-init-.md) | `Bar()` | ### Extension Functions -| [xyzzy](test/xyzzy) | `fun `[`Bar`](test/-bar/index)`.xyzzy(): Unit` | +| [xyzzy](../xyzzy.md) | `fun `[`Bar`](./index.md)`.xyzzy(): Unit` | diff --git a/core/testdata/format/indentedCodeBlock.html b/core/testdata/format/indentedCodeBlock.html index 1ccf800a..86c129fb 100644 --- a/core/testdata/format/indentedCodeBlock.html +++ b/core/testdata/format/indentedCodeBlock.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/indentedCodeBlock.md b/core/testdata/format/indentedCodeBlock.md index 515bfee3..77b0630a 100644 --- a/core/testdata/format/indentedCodeBlock.md +++ b/core/testdata/format/indentedCodeBlock.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo diff --git a/core/testdata/format/inheritedCompanionObjectProperties.md b/core/testdata/format/inheritedCompanionObjectProperties.md index db764ff0..ab8f0aa5 100644 --- a/core/testdata/format/inheritedCompanionObjectProperties.md +++ b/core/testdata/format/inheritedCompanionObjectProperties.md @@ -1,30 +1,30 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C -`class C : `[`A`](test/-a/index) +`class C : `[`A`](../-a/index.md) ### Types -| [Companion](test/-c/-companion/index) | `companion object Companion : `[`B`](test/-b/index) | +| [Companion](-companion/index.md) | `companion object Companion : `[`B`](../-b/index.md) | ### Constructors -| [<init>](test/-c/-init-) | `C()` | +| [<init>](-init-.md) | `C()` | ### Functions -| [xyzzy](test/-c/xyzzy) | `fun xyzzy(): Unit` | +| [xyzzy](xyzzy.md) | `fun xyzzy(): Unit` | ### Inherited Functions -| [foo](test/-a/foo) | `fun foo(): Unit` | +| [foo](../-a/foo.md) | `fun foo(): Unit` | ### Companion Object Functions -| [shazam](test/-c/shazam) | `fun shazam(): Unit` | +| [shazam](shazam.md) | `fun shazam(): Unit` | ### Inherited Companion Object Functions -| [bar](test/-b/bar) | `fun bar(): Unit` | +| [bar](../-b/bar.md) | `fun bar(): Unit` | diff --git a/core/testdata/format/inheritedExtensions.md b/core/testdata/format/inheritedExtensions.md index 611b4f6a..97a73666 100644 --- a/core/testdata/format/inheritedExtensions.md +++ b/core/testdata/format/inheritedExtensions.md @@ -1,15 +1,15 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar -`class Bar : `[`Foo`](test/-foo/index) +`class Bar : `[`Foo`](../-foo/index.md) ### Constructors -| [<init>](test/-bar/-init-) | `Bar()` | +| [<init>](-init-.md) | `Bar()` | ### Extension Functions -| [first](test/first) | `fun `[`Foo`](test/-foo/index)`.first(): Unit` | -| [second](test/second) | `fun `[`Bar`](test/-bar/index)`.second(): Unit` | +| [first](../first.md) | `fun `[`Foo`](../-foo/index.md)`.first(): Unit` | +| [second](../second.md) | `fun `[`Bar`](./index.md)`.second(): Unit` | diff --git a/core/testdata/format/inheritedMembers.md b/core/testdata/format/inheritedMembers.md index bed5bd44..334df360 100644 --- a/core/testdata/format/inheritedMembers.md +++ b/core/testdata/format/inheritedMembers.md @@ -1,26 +1,26 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar -`class Bar : `[`Foo`](test/-foo/index) +`class Bar : `[`Foo`](../-foo/index.md) ### Constructors -| [<init>](test/-bar/-init-) | `Bar()` | +| [<init>](-init-.md) | `Bar()` | ### Properties -| [secondProp](test/-bar/second-prop) | `val secondProp: Int` | +| [secondProp](second-prop.md) | `val secondProp: Int` | ### Inherited Properties -| [firstProp](test/-foo/first-prop) | `val firstProp: Int` | +| [firstProp](../-foo/first-prop.md) | `val firstProp: Int` | ### Functions -| [second](test/-bar/second) | `fun second(): Unit` | +| [second](second.md) | `fun second(): Unit` | ### Inherited Functions -| [first](test/-foo/first) | `fun first(): Unit` | +| [first](../-foo/first.md) | `fun first(): Unit` | diff --git a/core/testdata/format/javaCodeInParam.md b/core/testdata/format/javaCodeInParam.md index 696abdc4..319c6d87 100644 --- a/core/testdata/format/javaCodeInParam.md +++ b/core/testdata/format/javaCodeInParam.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -10,5 +10,5 @@ ### Constructors -| [<init>](test/-c/-init-) | `C()` | +| [<init>](-init-.md) | `C()` | diff --git a/core/testdata/format/javaCodeLiteralTags.md b/core/testdata/format/javaCodeLiteralTags.md index 99dbccfd..b36be04d 100644 --- a/core/testdata/format/javaCodeLiteralTags.md +++ b/core/testdata/format/javaCodeLiteralTags.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -12,5 +12,5 @@ A<B>C ### Constructors -| [<init>](test/-c/-init-) | `C()`<br>`A<B>C` <br>A<B>C | +| [<init>](-init-.md) | `C()`<br>`A<B>C` <br>A<B>C | diff --git a/core/testdata/format/javaDeprecated.html b/core/testdata/format/javaDeprecated.html index 67c5fd8f..d938fb9d 100644 --- a/core/testdata/format/javaDeprecated.html +++ b/core/testdata/format/javaDeprecated.html @@ -4,11 +4,11 @@ <title>Foo.foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-foo/index">Foo</a> / <a href="test/-foo/foo">foo</a><br/> +<a href="../index.html">test</a> / <a href="index.html">Foo</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="Foo$foo()"></a> <code><span class="keyword">open</span> <span class="keyword">fun </span><s><span class="identifier">foo</span></s><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> -<strong>Deprecated:</strong> use <code><a href="test/-foo/bar">#bar</a></code> instead +<strong>Deprecated:</strong> use <code><a href="bar.html">#bar</a></code> instead </BODY> </HTML> diff --git a/core/testdata/format/javaLinkTag.html b/core/testdata/format/javaLinkTag.html index 035bdd06..f90a58df 100644 --- a/core/testdata/format/javaLinkTag.html +++ b/core/testdata/format/javaLinkTag.html @@ -4,21 +4,21 @@ <title>Foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-foo/index">Foo</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Foo</a><br/> <br/> <h1>Foo</h1> <code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code> -<p>Call <code><a href="test/-foo/bar">#bar()</a></code> to do the job.</p> +<p>Call <code><a href="bar.html">#bar()</a></code> to do the job.</p> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-foo/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code> -<p>Call <code><a href="test/-foo/bar">#bar()</a></code> to do the job.</p> +<p>Call <code><a href="bar.html">#bar()</a></code> to do the job.</p> </td> </tr> </tbody> @@ -28,7 +28,7 @@ <tbody> <tr> <td> -<p><a href="test/-foo/bar">bar</a></p> +<p><a href="bar.html">bar</a></p> </td> <td> <code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/javaLinkTagWithLabel.html b/core/testdata/format/javaLinkTagWithLabel.html index 69a15bc7..51917f7a 100644 --- a/core/testdata/format/javaLinkTagWithLabel.html +++ b/core/testdata/format/javaLinkTagWithLabel.html @@ -4,21 +4,21 @@ <title>Foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-foo/index">Foo</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Foo</a><br/> <br/> <h1>Foo</h1> <code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code> -<p>Call <code><a href="test/-foo/bar">this wonderful method</a></code> to do the job.</p> +<p>Call <code><a href="bar.html">this wonderful method</a></code> to do the job.</p> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-foo/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code> -<p>Call <code><a href="test/-foo/bar">this wonderful method</a></code> to do the job.</p> +<p>Call <code><a href="bar.html">this wonderful method</a></code> to do the job.</p> </td> </tr> </tbody> @@ -28,7 +28,7 @@ <tbody> <tr> <td> -<p><a href="test/-foo/bar">bar</a></p> +<p><a href="bar.html">bar</a></p> </td> <td> <code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/javaSeeTag.html b/core/testdata/format/javaSeeTag.html index c81eec31..f8866dc2 100644 --- a/core/testdata/format/javaSeeTag.html +++ b/core/testdata/format/javaSeeTag.html @@ -4,18 +4,18 @@ <title>Foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-foo/index">Foo</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Foo</a><br/> <br/> <h1>Foo</h1> <code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></code> <p><strong>See Also</strong><br/> -<a href="test/-foo/bar">#bar</a></p> +<a href="bar.html">#bar</a></p> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-foo/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></code></td> @@ -27,7 +27,7 @@ <tbody> <tr> <td> -<p><a href="test/-foo/bar">bar</a></p> +<p><a href="bar.html">bar</a></p> </td> <td> <code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/javaSpaceInAuthor.md b/core/testdata/format/javaSpaceInAuthor.md index 6d738087..1d2251d0 100644 --- a/core/testdata/format/javaSpaceInAuthor.md +++ b/core/testdata/format/javaSpaceInAuthor.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -9,5 +9,5 @@ Dmitry Jemerov ### Constructors -| [<init>](test/-c/-init-) | `C()` | +| [<init>](-init-.md) | `C()` | diff --git a/core/testdata/format/javadocHtml.md b/core/testdata/format/javadocHtml.md index 8aba2059..a3c1baff 100644 --- a/core/testdata/format/javadocHtml.md +++ b/core/testdata/format/javadocHtml.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -18,7 +18,7 @@ Block code ### Constructors -| [<init>](test/-c/-init-) | `C()`<br>**Bold** **Strong** *Italic* *Emphasized* <br>Paragraph ~~Strikethrough~~ ~~Deleted~~ `Code` +| [<init>](-init-.md) | `C()`<br>**Bold** **Strong** *Italic* *Emphasized* <br>Paragraph ~~Strikethrough~~ ~~Deleted~~ `Code` ``` Block code<br>``` diff --git a/core/testdata/format/javadocOrderedList.md b/core/testdata/format/javadocOrderedList.md index f18ee96a..88d5f5b6 100644 --- a/core/testdata/format/javadocOrderedList.md +++ b/core/testdata/format/javadocOrderedList.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -10,7 +10,7 @@ ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br> +| [<init>](-init-.md) | `Bar()`<br> 1. Rinse 2. Repeat <br> | diff --git a/core/testdata/format/jdkLinks.md b/core/testdata/format/jdkLinks.md index 607d63e5..7498171d 100644 --- a/core/testdata/format/jdkLinks.md +++ b/core/testdata/format/jdkLinks.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -10,5 +10,5 @@ You can print something to [java.lang.System.out](http://docs.oracle.com/javase/ ### Constructors -| [<init>](test/-c/-init-) | `C()`<br>This is a [ClassLoader](http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html) and I can get its [ClassLoader.getResource](http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)) | +| [<init>](-init-.md) | `C()`<br>This is a [ClassLoader](http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html) and I can get its [ClassLoader.getResource](http://docs.oracle.com/javase/6/docs/api/java/lang/ClassLoader.html#getResource(java.lang.String)) | diff --git a/core/testdata/format/linkWithLabel.html b/core/testdata/format/linkWithLabel.html index b8fe2228..59bc6ddf 100644 --- a/core/testdata/format/linkWithLabel.html +++ b/core/testdata/format/linkWithLabel.html @@ -4,21 +4,21 @@ <title>Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-bar/index">Bar</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> <code><span class="keyword">class </span><span class="identifier">Bar</span></code> -<p>Use <a href="test/-bar/foo">this method</a> for best results.</p> +<p>Use <a href="foo.html">this method</a> for best results.</p> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code> -<p>Use <a href="test/-bar/foo">this method</a> for best results.</p> +<p>Use <a href="foo.html">this method</a> for best results.</p> </td> </tr> </tbody> @@ -28,7 +28,7 @@ <tbody> <tr> <td> -<p><a href="test/-bar/foo">foo</a></p> +<p><a href="foo.html">foo</a></p> </td> <td> <code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/linkWithStarProjection.html b/core/testdata/format/linkWithStarProjection.html index bb9ce43c..e1b6e098 100644 --- a/core/testdata/format/linkWithStarProjection.html +++ b/core/testdata/format/linkWithStarProjection.html @@ -4,7 +4,7 @@ <title>KClassLoader - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-k-class-loader/index">KClassLoader</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">KClassLoader</a><br/> <br/> <h1>KClassLoader</h1> <code><span class="keyword">object </span><span class="identifier">KClassLoader</span></code> @@ -13,7 +13,7 @@ <tbody> <tr> <td> -<p><a href="test/-k-class-loader/foo">foo</a></p> +<p><a href="foo.html">foo</a></p> </td> <td> <code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="identifier" id="KClassLoader$foo(kotlin.Enum(()))/c">c</span><span class="symbol">:</span> <span class="identifier">Enum</span><span class="symbol"><</span><span class="identifier">*</span><span class="symbol">></span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></td> diff --git a/core/testdata/format/linksInEmphasis.md b/core/testdata/format/linksInEmphasis.md index 9441ef6a..d0ae70c8 100644 --- a/core/testdata/format/linksInEmphasis.md +++ b/core/testdata/format/linksInEmphasis.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -6,18 +6,18 @@ An emphasised class. -*This class [Bar](test/-bar/index) is awesome.* +*This class [Bar](./index.md) is awesome.* -*Even more awesomer is the function [Bar.foo](test/-bar/foo)* +*Even more awesomer is the function [Bar.foo](foo.md)* -*[Bar.hello](test/-bar/hello) is also OK* +*[Bar.hello](hello.md) is also OK* ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>An emphasised class. | +| [<init>](-init-.md) | `Bar()`<br>An emphasised class. | ### Functions -| [foo](test/-bar/foo) | `fun foo(): Unit` | -| [hello](test/-bar/hello) | `fun hello(): Unit` | +| [foo](foo.md) | `fun foo(): Unit` | +| [hello](hello.md) | `fun hello(): Unit` | diff --git a/core/testdata/format/linksInHeaders.md b/core/testdata/format/linksInHeaders.md index 85d51356..1dc7d18b 100644 --- a/core/testdata/format/linksInHeaders.md +++ b/core/testdata/format/linksInHeaders.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -6,29 +6,29 @@ Some class with really useless documentation. -# Beer o'clock - time to go to the [Bar](test/-bar/index) +# Beer o'clock - time to go to the [Bar](./index.md) ## But **is [it](isitbeeroclock.com)** really? -### [Bar.hello](test/-bar/hello) to the [Bar.world](test/-bar/world)! +### [Bar.hello](hello.md) to the [Bar.world](world.md)! -#### *Kotlin is amazing, [Bar.none](test/-bar/none)* +#### *Kotlin is amazing, [Bar.none](none.md)* -##### We need to go [Bar.deeper](test/-bar/deeper) +##### We need to go [Bar.deeper](deeper.md) -###### End of the [Bar.line](test/-bar/line) - we need to go back! +###### End of the [Bar.line](line.md) - we need to go back! ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>Some class with really useless documentation. | +| [<init>](-init-.md) | `Bar()`<br>Some class with really useless documentation. | ### Functions -| [deeper](test/-bar/deeper) | `fun deeper(): Unit` | -| [foo](test/-bar/foo) | `fun foo(): Unit` | -| [hello](test/-bar/hello) | `fun hello(): Unit` | -| [kotlin](test/-bar/kotlin) | `fun kotlin(): Unit` | -| [line](test/-bar/line) | `fun line(): Unit` | -| [none](test/-bar/none) | `fun none(): Unit` | -| [world](test/-bar/world) | `fun world(): Unit` | +| [deeper](deeper.md) | `fun deeper(): Unit` | +| [foo](foo.md) | `fun foo(): Unit` | +| [hello](hello.md) | `fun hello(): Unit` | +| [kotlin](kotlin.md) | `fun kotlin(): Unit` | +| [line](line.md) | `fun line(): Unit` | +| [none](none.md) | `fun none(): Unit` | +| [world](world.md) | `fun world(): Unit` | diff --git a/core/testdata/format/linksInStrong.md b/core/testdata/format/linksInStrong.md index e98d31cc..5b44112d 100644 --- a/core/testdata/format/linksInStrong.md +++ b/core/testdata/format/linksInStrong.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -6,18 +6,18 @@ A strong class. -**This class [Bar](test/-bar/index) is awesome.** +**This class [Bar](./index.md) is awesome.** -**Even more awesomer is the function [Bar.foo](test/-bar/foo)** +**Even more awesomer is the function [Bar.foo](foo.md)** -**[Bar.hello](test/-bar/hello) is also OK** +**[Bar.hello](hello.md) is also OK** ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>A strong class. | +| [<init>](-init-.md) | `Bar()`<br>A strong class. | ### Functions -| [foo](test/-bar/foo) | `fun foo(): Unit` | -| [hello](test/-bar/hello) | `fun hello(): Unit` | +| [foo](foo.md) | `fun foo(): Unit` | +| [hello](hello.md) | `fun hello(): Unit` | diff --git a/core/testdata/format/markdownInLinks.html b/core/testdata/format/markdownInLinks.html index 6d2327be..596cca73 100644 --- a/core/testdata/format/markdownInLinks.html +++ b/core/testdata/format/markdownInLinks.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/memberExtension.md b/core/testdata/format/memberExtension.md index b9db4e3d..0ec1fda3 100644 --- a/core/testdata/format/memberExtension.md +++ b/core/testdata/format/memberExtension.md @@ -1,10 +1,10 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo -`class Foo : `[`X`](test/-x/index) +`class Foo : `[`X`](../-x/index.md) ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | diff --git a/core/testdata/format/multiplatform/breadcrumbsInMemberOfMemberOfGroupNode/multiplatform.md b/core/testdata/format/multiplatform/breadcrumbsInMemberOfMemberOfGroupNode/multiplatform.md index e3d4c070..37e943ad 100644 --- a/core/testdata/format/multiplatform/breadcrumbsInMemberOfMemberOfGroupNode/multiplatform.md +++ b/core/testdata/format/multiplatform/breadcrumbsInMemberOfMemberOfGroupNode/multiplatform.md @@ -1,4 +1,4 @@ -[test](test/index) / [pack](test/pack/index) / [Some](test/pack/-some/index) / [magic](test/pack/-some/-some/magic) +[test](../../../index.md) / [pack](../../index.md) / [Some](../index.md) / [magic](./magic.md) # magic diff --git a/core/testdata/format/multiplatform/groupNode/multiplatform.md b/core/testdata/format/multiplatform/groupNode/multiplatform.md index c0ef14b1..74d464c9 100644 --- a/core/testdata/format/multiplatform/groupNode/multiplatform.md +++ b/core/testdata/format/multiplatform/groupNode/multiplatform.md @@ -1,4 +1,4 @@ -[test](test/index) / [pack](test/pack/index) / [Some](test/pack/-some/index) +[test](../../index.md) / [pack](../index.md) / [Some](./index.md) # Some @@ -12,9 +12,9 @@ ### Constructors -| [<init>](test/pack/-some/-some/-init-) | `Some()` | +| [<init>](-some/-init-.md) | `Some()` | ### Functions -| [magic](test/pack/-some/-some/magic) | `fun magic(): Unit` | +| [magic](-some/magic.md) | `fun magic(): Unit` | diff --git a/core/testdata/format/multiplatform/groupNode/multiplatform.package.md b/core/testdata/format/multiplatform/groupNode/multiplatform.package.md index a9e2e404..5708795e 100644 --- a/core/testdata/format/multiplatform/groupNode/multiplatform.package.md +++ b/core/testdata/format/multiplatform/groupNode/multiplatform.package.md @@ -1,13 +1,13 @@ -[test](test/index) / [pack](test/pack/index) +[test](../index.md) / [pack](./index.md) ## Package pack ### Types -| [Some](test/pack/-some/index)<br>(JS) | `class Some` | -| [SomeCoolJvmClass](test/pack/-some-cool-jvm-class/index)<br>(JVM) | `class SomeCoolJvmClass` | +| [Some](-some/index.md)<br>(JS) | `class Some` | +| [SomeCoolJvmClass](-some-cool-jvm-class/index.md)<br>(JVM) | `class SomeCoolJvmClass` | ### Type Aliases -| [Some](test/pack/-some/index)<br>(JVM) | `typealias Some = SomeCoolJvmClass` | +| [Some](-some/index.md)<br>(JVM) | `typealias Some = SomeCoolJvmClass` | diff --git a/core/testdata/format/multiplatform/implied/foo.md b/core/testdata/format/multiplatform/implied/foo.md index c615dd8e..fca2aff4 100644 --- a/core/testdata/format/multiplatform/implied/foo.md +++ b/core/testdata/format/multiplatform/implied/foo.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo/index) / [Foo](test/foo/-foo/index) +[test](../../index.md) / [foo](../index.md) / [Foo](./index.md) # Foo @@ -8,17 +8,17 @@ This is a foo. ### Constructors -| [<init>](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. | +| [<init>](-init-.md) | `Foo()`<br>This is a foo. | ### Properties -| [propJs](test/foo/-foo/prop-js)<br>(JS) | `val propJs: String` | -| [propJvm](test/foo/-foo/prop-jvm)<br>(JVM) | `val propJvm: String` | -| [propJvmAndJs](test/foo/-foo/prop-jvm-and-js) | `val propJvmAndJs: Int` | +| [propJs](prop-js.md)<br>(JS) | `val propJs: String` | +| [propJvm](prop-jvm.md)<br>(JVM) | `val propJvm: String` | +| [propJvmAndJs](prop-jvm-and-js.md) | `val propJvmAndJs: Int` | ### Functions -| [bothJvmAndJs](test/foo/-foo/both-jvm-and-js) | `fun bothJvmAndJs(): Unit` | -| [js](test/foo/-foo/js)<br>(JS) | `fun js(): Unit` | -| [jvm](test/foo/-foo/jvm)<br>(JVM) | `fun jvm(): Unit` | +| [bothJvmAndJs](both-jvm-and-js.md) | `fun bothJvmAndJs(): Unit` | +| [js](js.md)<br>(JS) | `fun js(): Unit` | +| [jvm](jvm.md)<br>(JVM) | `fun jvm(): Unit` | diff --git a/core/testdata/format/multiplatform/merge/multiplatform.package.md b/core/testdata/format/multiplatform/merge/multiplatform.package.md index 8e463327..ea78b5a3 100644 --- a/core/testdata/format/multiplatform/merge/multiplatform.package.md +++ b/core/testdata/format/multiplatform/merge/multiplatform.package.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo/index) +[test](../index.md) / [foo](./index.md) ## Package foo @@ -6,5 +6,5 @@ ### Types -| [Foo](test/foo/-foo/index)<br>(JVM, JS) | `class Foo`<br>This is a foo. | +| [Foo](-foo/index.md)<br>(JVM, JS) | `class Foo`<br>This is a foo. | diff --git a/core/testdata/format/multiplatform/mergeMembers/foo.md b/core/testdata/format/multiplatform/mergeMembers/foo.md index 7490c878..7f41b7d1 100644 --- a/core/testdata/format/multiplatform/mergeMembers/foo.md +++ b/core/testdata/format/multiplatform/mergeMembers/foo.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo/index) / [Foo](test/foo/-foo/index) +[test](../../index.md) / [foo](../index.md) / [Foo](./index.md) # Foo @@ -10,17 +10,17 @@ This is a foo. ### Constructors -| [<init>](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. | +| [<init>](-init-.md) | `Foo()`<br>This is a foo. | ### Properties -| [propJs](test/foo/-foo/prop-js)<br>(JS) | `val propJs: String` | -| [propJvm](test/foo/-foo/prop-jvm)<br>(JVM) | `val propJvm: String` | -| [propJvmAndJs](test/foo/-foo/prop-jvm-and-js) | `val propJvmAndJs: Int` | +| [propJs](prop-js.md)<br>(JS) | `val propJs: String` | +| [propJvm](prop-jvm.md)<br>(JVM) | `val propJvm: String` | +| [propJvmAndJs](prop-jvm-and-js.md) | `val propJvmAndJs: Int` | ### Functions -| [bothJvmAndJs](test/foo/-foo/both-jvm-and-js) | `fun bothJvmAndJs(): Unit` | -| [js](test/foo/-foo/js)<br>(JS) | `fun js(): Unit` | -| [jvm](test/foo/-foo/jvm)<br>(JVM) | `fun jvm(): Unit` | +| [bothJvmAndJs](both-jvm-and-js.md) | `fun bothJvmAndJs(): Unit` | +| [js](js.md)<br>(JS) | `fun js(): Unit` | +| [jvm](jvm.md)<br>(JVM) | `fun jvm(): Unit` | diff --git a/core/testdata/format/multiplatform/omitRedundant/foo.md b/core/testdata/format/multiplatform/omitRedundant/foo.md index 088ced2c..a20b14cf 100644 --- a/core/testdata/format/multiplatform/omitRedundant/foo.md +++ b/core/testdata/format/multiplatform/omitRedundant/foo.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo/index) / [Foo](test/foo/-foo/index) +[test](../../index.md) / [foo](../index.md) / [Foo](./index.md) # Foo @@ -10,13 +10,13 @@ This is a foo. ### Constructors -| [<init>](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. | +| [<init>](-init-.md) | `Foo()`<br>This is a foo. | ### Properties -| [propJvm](test/foo/-foo/prop-jvm) | `val propJvm: String` | +| [propJvm](prop-jvm.md) | `val propJvm: String` | ### Functions -| [jvm](test/foo/-foo/jvm) | `fun jvm(): Unit` | +| [jvm](jvm.md) | `fun jvm(): Unit` | diff --git a/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.index.md b/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.index.md index 1dda25d4..6f45342b 100644 --- a/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.index.md +++ b/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.index.md @@ -1,10 +1,10 @@ -[test](test/index) +[test](./index.md) **Platform and version requirements:** JVM, JS ### Packages -| [foo.bar](test/foo.bar/index)<br>(JVM, JS) | | +| [foo.bar](foo.bar/index.md)<br>(JVM, JS) | | ### Index diff --git a/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.package.md b/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.package.md index 2921cdd1..4ddfe2e3 100644 --- a/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.package.md +++ b/core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.package.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo.bar](test/foo.bar/index) +[test](../index.md) / [foo.bar](./index.md) ## Package foo.bar @@ -6,5 +6,5 @@ ### Functions -| [buz](test/foo.bar/buz)<br>(JVM, JS) | `fun buz(): Unit` | +| [buz](buz.md)<br>(JVM, JS) | `fun buz(): Unit` | diff --git a/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.index.md b/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.index.md index f6e770b2..f4186b6e 100644 --- a/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.index.md +++ b/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.index.md @@ -1,10 +1,10 @@ -[test](test/index) +[test](./index.md) **Platform and version requirements:** JVM ### Packages -| [some](test/some/index)<br>(JVM) | | +| [some](some/index.md)<br>(JVM) | | ### Index diff --git a/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.package.md b/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.package.md index 22f778d6..ff480b5a 100644 --- a/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.package.md +++ b/core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.package.md @@ -1,4 +1,4 @@ -[test](test/index) / [some](test/some/index) +[test](../index.md) / [some](./index.md) ## Package some @@ -6,5 +6,5 @@ ### Extensions for External Classes -| [kotlin.String](test/some/kotlin.-string/index) | | +| [kotlin.String](kotlin.-string/index.md) | | diff --git a/core/testdata/format/multiplatform/simple/multiplatform.package.md b/core/testdata/format/multiplatform/simple/multiplatform.package.md index 3574942c..fad7e90d 100644 --- a/core/testdata/format/multiplatform/simple/multiplatform.package.md +++ b/core/testdata/format/multiplatform/simple/multiplatform.package.md @@ -1,9 +1,9 @@ -[test](test/index) / [foo](test/foo/index) +[test](../index.md) / [foo](./index.md) ## Package foo ### Types -| [Bar](test/foo/-bar/index)<br>(JS) | `class Bar`<br>This is a bar. | -| [Foo](test/foo/-foo/index)<br>(JVM) | `class Foo`<br>This is a foo. | +| [Bar](-bar/index.md)<br>(JS) | `class Bar`<br>This is a bar. | +| [Foo](-foo/index.md)<br>(JVM) | `class Foo`<br>This is a foo. | diff --git a/core/testdata/format/multipleTypeParameterConstraints.md b/core/testdata/format/multipleTypeParameterConstraints.md index 5dd45e4e..78586aca 100644 --- a/core/testdata/format/multipleTypeParameterConstraints.md +++ b/core/testdata/format/multipleTypeParameterConstraints.md @@ -1,13 +1,18 @@ -[test](test/index) / [A](test/-a) +<!-- File: test/-a.md --> +[test](index.md) / [A](./-a.md) # A -`interface A`[test](test/index) / [B](test/-b) +`interface A` +<!-- File: test/-b.md --> +[test](index.md) / [B](./-b.md) # B -`interface B`[test](test/index) / [f](test/f) +`interface B` +<!-- File: test/f.md --> +[test](index.md) / [f](./f.md) # f -`fun <T> f(): Unit where T : `[`A`](test/-a)`, T : `[`B`](test/-b)
\ No newline at end of file +`fun <T> f(): Unit where T : `[`A`](-a.md)`, T : `[`B`](-b.md)
\ No newline at end of file diff --git a/core/testdata/format/nestedLists.md b/core/testdata/format/nestedLists.md index dd151944..fb25bc32 100644 --- a/core/testdata/format/nestedLists.md +++ b/core/testdata/format/nestedLists.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -8,36 +8,36 @@ Usage instructions: * **Rinse** 1. Alter any rinse options *(optional)* - * Recommended to [Bar.useSoap](test/-bar/use-soap) + * Recommended to [Bar.useSoap](use-soap.md) * Optionally apply [Bar.elbowGrease](#) for best results - 2. [Bar.rinse](test/-bar/rinse) to begin rinse - 1. Thus you should call [Bar.rinse](test/-bar/rinse) - 2. *Then* call [Bar.repeat](test/-bar/repeat) + 2. [Bar.rinse](rinse.md) to begin rinse + 1. Thus you should call [Bar.rinse](rinse.md) + 2. *Then* call [Bar.repeat](repeat.md) * Don't forget to use: * Soap * Elbow Grease - 3. Finally, adjust soap usage [Bar.useSoap](test/-bar/use-soap) as needed - 3. Repeat with [Bar.repeat](test/-bar/repeat) + 3. Finally, adjust soap usage [Bar.useSoap](use-soap.md) as needed + 3. Repeat with [Bar.repeat](repeat.md) * **Repeat** * Will use previously used rinse options - * [Bar.rinse](test/-bar/rinse) must have been called once before + * [Bar.rinse](rinse.md) must have been called once before * Can be repeated any number of times * Options include: - * [Bar.useSoap](test/-bar/use-soap) - * [Bar.useElbowGrease](test/-bar/use-elbow-grease) + * [Bar.useSoap](use-soap.md) + * [Bar.useElbowGrease](use-elbow-grease.md) ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>Usage instructions: | +| [<init>](-init-.md) | `Bar()`<br>Usage instructions: | ### Properties -| [useElbowGrease](test/-bar/use-elbow-grease) | `var useElbowGrease: Boolean` | -| [useSoap](test/-bar/use-soap) | `var useSoap: Boolean` | +| [useElbowGrease](use-elbow-grease.md) | `var useElbowGrease: Boolean` | +| [useSoap](use-soap.md) | `var useSoap: Boolean` | ### Functions -| [repeat](test/-bar/repeat) | `fun repeat(): Unit` | -| [rinse](test/-bar/rinse) | `fun rinse(): Unit` | +| [repeat](repeat.md) | `fun repeat(): Unit` | +| [rinse](rinse.md) | `fun rinse(): Unit` | diff --git a/core/testdata/format/newlineInTableCell.package.md b/core/testdata/format/newlineInTableCell.package.md index 4b3875ba..53716db3 100644 --- a/core/testdata/format/newlineInTableCell.package.md +++ b/core/testdata/format/newlineInTableCell.package.md @@ -1,8 +1,8 @@ -[test](test/index) +[test](./index.md) ## Package <root> ### Types -| [A](test/-a/index) | `class A`<br>There is `long long int` story full of new lines | +| [A](-a/index.md) | `class A`<br>There is `long long int` story full of new lines | diff --git a/core/testdata/format/notPublishedTypeAliasAutoExpansion.md b/core/testdata/format/notPublishedTypeAliasAutoExpansion.md index 9e0f1560..ca95093c 100644 --- a/core/testdata/format/notPublishedTypeAliasAutoExpansion.md +++ b/core/testdata/format/notPublishedTypeAliasAutoExpansion.md @@ -1,9 +1,9 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo `fun foo(): Unit` -Correct ref [TA](test/-a/index) -Correct ref [TB](test/-b/index) +Correct ref [TA](-a/index.md) +Correct ref [TB](-b/index.md) diff --git a/core/testdata/format/nullability.md b/core/testdata/format/nullability.md index 014eb485..7b81c255 100644 --- a/core/testdata/format/nullability.md +++ b/core/testdata/format/nullability.md @@ -1,4 +1,4 @@ -[test](test/index) / [C](test/-c/index) +[test](../index.md) / [C](./index.md) # C @@ -6,9 +6,9 @@ ### Constructors -| [<init>](test/-c/-init-) | `C()` | +| [<init>](-init-.md) | `C()` | ### Functions -| [foo](test/-c/foo) | `fun foo(): Comparable<`[`T`](test/-c/index#T)`>?` | +| [foo](foo.md) | `fun foo(): Comparable<`[`T`](index.md#T)`>?` | diff --git a/core/testdata/format/operatorOverloading.md b/core/testdata/format/operatorOverloading.md index 8e8d36eb..0a4c87b6 100644 --- a/core/testdata/format/operatorOverloading.md +++ b/core/testdata/format/operatorOverloading.md @@ -1,5 +1,5 @@ -[test](test/index) / [C](test/-c/index) / [plus](test/-c/plus) +[test](../index.md) / [C](index.md) / [plus](./plus.md) # plus -`fun plus(other: `[`C`](test/-c/index)`): `[`C`](test/-c/index)
\ No newline at end of file +`fun plus(other: `[`C`](index.md)`): `[`C`](index.md)
\ No newline at end of file diff --git a/core/testdata/format/orderedList.html b/core/testdata/format/orderedList.html index 66f37876..6f735bfd 100644 --- a/core/testdata/format/orderedList.html +++ b/core/testdata/format/orderedList.html @@ -4,7 +4,7 @@ <title>Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-bar/index">Bar</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> <code><span class="keyword">class </span><span class="identifier">Bar</span></code> @@ -17,7 +17,7 @@ <tbody> <tr> <td> -<p><a href="test/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code> diff --git a/core/testdata/format/overloads.html b/core/testdata/format/overloads.html index d0f7f37d..feda82e4 100644 --- a/core/testdata/format/overloads.html +++ b/core/testdata/format/overloads.html @@ -4,7 +4,7 @@ <title>root package - test</title> </HEAD> <BODY> -<a href="test/index">test</a><br/> +<a href="./index.html">test</a><br/> <br/> <h2>Package <root></h2> <h3>Functions</h3> @@ -12,7 +12,7 @@ <tbody> <tr> <td> -<p><a href="test/f">f</a></p> +<p><a href="f.html">f</a></p> </td> <td> <code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier" id="$f(kotlin.Int)/x">x</span><span class="symbol">:</span> <span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> diff --git a/core/testdata/format/overloadsWithDescription.html b/core/testdata/format/overloadsWithDescription.html index fe98b8fe..16b03f7e 100644 --- a/core/testdata/format/overloadsWithDescription.html +++ b/core/testdata/format/overloadsWithDescription.html @@ -4,14 +4,14 @@ <title>f - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/f">f</a><br/> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f(kotlin.Int)"></a> <code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier" id="$f(kotlin.Int)/x">x</span><span class="symbol">:</span> <span class="identifier">Int</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><br/> <a name="$f(kotlin.String)"></a> <code><span class="keyword">fun </span><span class="identifier">f</span><span class="symbol">(</span><span class="identifier" id="$f(kotlin.String)/x">x</span><span class="symbol">:</span> <span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code> -<p>Performs an action on <a href="test/f#$f(kotlin.Int)/x">x</a>.</p> +<p>Performs an action on <a href="f.html#$f(kotlin.Int)/x">x</a>.</p> <p>This is a long description.</p> <h3>Parameters</h3> <p><a name="x"></a> diff --git a/core/testdata/format/overloadsWithDifferentDescriptions.html b/core/testdata/format/overloadsWithDifferentDescriptions.html index 1f086039..4c4f7f74 100644 --- a/core/testdata/format/overloadsWithDifferentDescriptions.html +++ b/core/testdata/format/overloadsWithDifferentDescriptions.html @@ -4,7 +4,7 @@ <title>f - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/f">f</a><br/> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f(kotlin.Int)"></a> diff --git a/core/testdata/format/overridingFunction.md b/core/testdata/format/overridingFunction.md index dcc1c426..d0ec82fa 100644 --- a/core/testdata/format/overridingFunction.md +++ b/core/testdata/format/overridingFunction.md @@ -1,8 +1,8 @@ -[test](test/index) / [D](test/-d/index) / [f](test/-d/f) +[test](../index.md) / [D](index.md) / [f](./f.md) # f `fun f(): Unit` -Overrides [C.f](test/-c/f) +Overrides [C.f](../-c/f.md) diff --git a/core/testdata/format/paramTag.md b/core/testdata/format/paramTag.md index d3e948ae..7cc33d21 100644 --- a/core/testdata/format/paramTag.md +++ b/core/testdata/format/paramTag.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/parameterAnchor.html b/core/testdata/format/parameterAnchor.html index 3ffcf595..a4ae0997 100644 --- a/core/testdata/format/parameterAnchor.html +++ b/core/testdata/format/parameterAnchor.html @@ -4,12 +4,12 @@ <title>processFiles - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/process-files">processFiles</a><br/> +<a href="index.html">test</a> / <a href="./process-files.html">processFiles</a><br/> <br/> <h1>processFiles</h1> <a name="$processFiles(kotlin.Function0((processFiles.T)))"></a> -<code><span class="keyword">fun </span><span class="symbol"><</span><span class="identifier">T</span><span class="symbol">></span> <span class="identifier">processFiles</span><span class="symbol">(</span><span class="identifier" id="$processFiles(kotlin.Function0((processFiles.T)))/processor">processor</span><span class="symbol">:</span> <span class="symbol">(</span><span class="symbol">)</span> <span class="symbol">-></span> <a href="test/process-files#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="test/process-files#T"><span class="identifier">T</span></a><span class="symbol">></span></code> -<p>Runs <a href="test/process-files#$processFiles(kotlin.Function0((processFiles.T)))/processor">processor</a> for each file and collects its results into single list</p> +<code><span class="keyword">fun </span><span class="symbol"><</span><span class="identifier">T</span><span class="symbol">></span> <span class="identifier">processFiles</span><span class="symbol">(</span><span class="identifier" id="$processFiles(kotlin.Function0((processFiles.T)))/processor">processor</span><span class="symbol">:</span> <span class="symbol">(</span><span class="symbol">)</span> <span class="symbol">-></span> <a href="process-files.html#T"><span class="identifier">T</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">List</span><span class="symbol"><</span><a href="process-files.html#T"><span class="identifier">T</span></a><span class="symbol">></span></code> +<p>Runs <a href="process-files.html#$processFiles(kotlin.Function0((processFiles.T)))/processor">processor</a> for each file and collects its results into single list</p> <h3>Parameters</h3> <p><a name="processor"></a> <code>processor</code> - function to receive context for symbol resolution and file for processing</p> diff --git a/core/testdata/format/parenthesis.html b/core/testdata/format/parenthesis.html index 6f3c1d6b..c63154c1 100644 --- a/core/testdata/format/parenthesis.html +++ b/core/testdata/format/parenthesis.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/propertyVar.md b/core/testdata/format/propertyVar.md index 8232dff4..887d25a5 100644 --- a/core/testdata/format/propertyVar.md +++ b/core/testdata/format/propertyVar.md @@ -1,4 +1,4 @@ -[test](test/index) / [x](test/x) +[test](index.md) / [x](./x.md) # x diff --git a/core/testdata/format/qualifiedNameLink.md b/core/testdata/format/qualifiedNameLink.md index 590bb435..92fa8f7a 100644 --- a/core/testdata/format/qualifiedNameLink.md +++ b/core/testdata/format/qualifiedNameLink.md @@ -1,4 +1,4 @@ -[test](test/index) / [foo](test/foo) +[test](index.md) / [foo](./foo.md) # foo diff --git a/core/testdata/format/receiverParameterTypeBound.md b/core/testdata/format/receiverParameterTypeBound.md index 9c767449..978dc0f8 100644 --- a/core/testdata/format/receiverParameterTypeBound.md +++ b/core/testdata/format/receiverParameterTypeBound.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -6,9 +6,9 @@ ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | ### Extension Functions -| [xyzzy](test/xyzzy) | `fun <T : `[`Foo`](test/-foo/index)`> `[`T`](test/xyzzy#T)`.xyzzy(): Unit` | +| [xyzzy](../xyzzy.md) | `fun <T : `[`Foo`](./index.md)`> `[`T`](../xyzzy.md#T)`.xyzzy(): Unit` | diff --git a/core/testdata/format/receiverReference.md b/core/testdata/format/receiverReference.md index 1584b2b1..bdcce322 100644 --- a/core/testdata/format/receiverReference.md +++ b/core/testdata/format/receiverReference.md @@ -1,6 +1,6 @@ -[test](test/index) / [kotlin.String](test/kotlin.-string/index) +[test](../index.md) / [kotlin.String](./index.md) ### Extensions for kotlin.String -| [some](test/kotlin.-string/some) | `fun String.some(): Unit`<br>Prints [this](test/kotlin.-string/some/-this-) | +| [some](some.md) | `fun String.some(): Unit`<br>Prints [this](some/-this-.md) | diff --git a/core/testdata/format/referenceLink.md b/core/testdata/format/referenceLink.md index b3d89e0d..ee910cbf 100644 --- a/core/testdata/format/referenceLink.md +++ b/core/testdata/format/referenceLink.md @@ -1,14 +1,16 @@ -[test](test/index) / [example](test/example/index) / [a](test/example/a) +<!-- File: test/example/a.md --> +[test](../index.md) / [example](index.md) / [a](./a.md) # a `fun a(): Unit` -It is link to [example other func](test/example/some-other-func) +It is link to [example other func](some-other-func.md) -Sure, it is [example](test/example/some-other-func) +Sure, it is [example](some-other-func.md) -[test](test/index) / [example](test/example/index) / [someOtherFunc](test/example/some-other-func) +<!-- File: test/example/some-other-func.md --> +[test](../index.md) / [example](index.md) / [someOtherFunc](./some-other-func.md) # someOtherFunc diff --git a/core/testdata/format/reifiedTypeParameter.md b/core/testdata/format/reifiedTypeParameter.md index 253f2438..40dbed7b 100644 --- a/core/testdata/format/reifiedTypeParameter.md +++ b/core/testdata/format/reifiedTypeParameter.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/renderFunctionalTypeInParenthesisWhenItIsReceiver.md b/core/testdata/format/renderFunctionalTypeInParenthesisWhenItIsReceiver.md index c9856976..ad632fef 100644 --- a/core/testdata/format/renderFunctionalTypeInParenthesisWhenItIsReceiver.md +++ b/core/testdata/format/renderFunctionalTypeInParenthesisWhenItIsReceiver.md @@ -1,6 +1,6 @@ -[test](test/index) / [kotlin.SuspendFunction0](test/kotlin.-suspend-function0/index) +[test](../index.md) / [kotlin.SuspendFunction0](./index.md) ### Extensions for kotlin.SuspendFunction0 -| [foo](test/kotlin.-suspend-function0/foo) | `fun (suspend () -> Unit).foo(): Unit` | +| [foo](foo.md) | `fun (suspend () -> Unit).foo(): Unit` | diff --git a/core/testdata/format/returnWithLink.html b/core/testdata/format/returnWithLink.html index f6e918dd..fe1d031b 100644 --- a/core/testdata/format/returnWithLink.html +++ b/core/testdata/format/returnWithLink.html @@ -4,12 +4,12 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo(kotlin.String)"></a> <code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="identifier" id="$foo(kotlin.String)/s1">s1</span><span class="symbol">:</span> <span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code> <p><strong>Return</strong><br/> -Returns <a href="test/foo#$foo(kotlin.String)/s1">s1</a> and does nothing else.</p> +Returns <a href="foo.html#$foo(kotlin.String)/s1">s1</a> and does nothing else.</p> </BODY> </HTML> diff --git a/core/testdata/format/sampleByFQName.md b/core/testdata/format/sampleByFQName.md index 06333e13..7093179d 100644 --- a/core/testdata/format/sampleByFQName.md +++ b/core/testdata/format/sampleByFQName.md @@ -1,8 +1,11 @@ -[test](test/index) / [test](test/test/index) / [sample](test/test/sample) +<!-- File: test/test/sample.md --> +[test](../index.md) / [test](index.md) / [sample](./sample.md) # sample -`fun sample(): Unit`[test](test/index) / [test](test/test/index) / [use](test/test/use) +`fun sample(): Unit` +<!-- File: test/test/use.md --> +[test](../index.md) / [test](index.md) / [use](./use.md) # use diff --git a/core/testdata/format/sampleByShortName.md b/core/testdata/format/sampleByShortName.md index 06333e13..7093179d 100644 --- a/core/testdata/format/sampleByShortName.md +++ b/core/testdata/format/sampleByShortName.md @@ -1,8 +1,11 @@ -[test](test/index) / [test](test/test/index) / [sample](test/test/sample) +<!-- File: test/test/sample.md --> +[test](../index.md) / [test](index.md) / [sample](./sample.md) # sample -`fun sample(): Unit`[test](test/index) / [test](test/test/index) / [use](test/test/use) +`fun sample(): Unit` +<!-- File: test/test/use.md --> +[test](../index.md) / [test](index.md) / [use](./use.md) # use diff --git a/core/testdata/format/see.html b/core/testdata/format/see.html index d350d6b7..74773951 100644 --- a/core/testdata/format/see.html +++ b/core/testdata/format/see.html @@ -1,22 +1,43 @@ +<!-- File: test/quux.html --> <HTML> <HEAD> <meta charset="UTF-8"> +<title>quux - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/quux">quux</a><br/> +<a href="index.html">test</a> / <a href="./quux.html">quux</a><br/> <br/> <h1>quux</h1> <a name="$quux()"></a> <code><span class="keyword">fun </span><span class="identifier">quux</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code> <p><strong>See Also</strong><br/> -<p><a href="test/foo">foo</a></p> -<p><a href="test/bar">bar</a></p> +<p><a href="foo.html">foo</a></p> +<p><a href="bar.html">bar</a></p> </p> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +</BODY> +</HTML> +<!-- File: test/foo.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>foo - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> -<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code><a href="test/index">test</a> / <a href="test/bar">bar</a><br/> +<code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code> +</BODY> +</HTML> +<!-- File: test/bar.html --> +<HTML> +<HEAD> +<meta charset="UTF-8"> +<title>bar - test</title> +</HEAD> +<BODY> +<a href="index.html">test</a> / <a href="./bar.html">bar</a><br/> <br/> <h1>bar</h1> <a name="$bar()"></a> diff --git a/core/testdata/format/shadowedExtensionFunctions.md b/core/testdata/format/shadowedExtensionFunctions.md index 3b0a9dc9..f900ecb2 100644 --- a/core/testdata/format/shadowedExtensionFunctions.md +++ b/core/testdata/format/shadowedExtensionFunctions.md @@ -1,15 +1,15 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar -`class Bar : `[`Foo`](test/-foo/index) +`class Bar : `[`Foo`](../-foo/index.md) ### Constructors -| [<init>](test/-bar/-init-) | `Bar()` | +| [<init>](-init-.md) | `Bar()` | ### Extension Functions -| [shazam](test/shazam) | `fun `[`Bar`](test/-bar/index)`.shazam(i: Int): Unit`<br>`fun `[`Foo`](test/-foo/index)`.shazam(): Unit` | -| [xyzzy](test/xyzzy) | `fun `[`Bar`](test/-bar/index)`.xyzzy(): Unit` | +| [shazam](../shazam.md) | `fun `[`Bar`](./index.md)`.shazam(i: Int): Unit`<br>`fun `[`Foo`](../-foo/index.md)`.shazam(): Unit` | +| [xyzzy](../xyzzy.md) | `fun `[`Bar`](./index.md)`.xyzzy(): Unit` | diff --git a/core/testdata/format/sinceKotlin.html b/core/testdata/format/sinceKotlin.html index ab25a002..32988de2 100644 --- a/core/testdata/format/sinceKotlin.html +++ b/core/testdata/format/sinceKotlin.html @@ -4,7 +4,7 @@ <title>Since1.1 - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-since1.1/index">Since1.1</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Since1.1</a><br/> <br/> <h1>Since1.1</h1> <code><span class="keyword">class </span><span class="identifier">Since1.1</span></code> @@ -15,7 +15,7 @@ <tbody> <tr> <td> -<p><a href="test/-since1.1/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Since1.1</span><span class="symbol">(</span><span class="symbol">)</span></code> diff --git a/core/testdata/format/sinceKotlin.md b/core/testdata/format/sinceKotlin.md index a1abe5fd..df96db0a 100644 --- a/core/testdata/format/sinceKotlin.md +++ b/core/testdata/format/sinceKotlin.md @@ -1,4 +1,4 @@ -[test](test/index) / [Since1.1](test/-since1.1/index) +[test](../index.md) / [Since1.1](./index.md) # Since1.1 @@ -10,5 +10,5 @@ Useful ### Constructors -| [<init>](test/-since1.1/-init-) | `Since1.1()`<br>Useful | +| [<init>](-init-.md) | `Since1.1()`<br>Useful | diff --git a/core/testdata/format/sinceKotlin.package.md b/core/testdata/format/sinceKotlin.package.md index c811749c..eabf88d5 100644 --- a/core/testdata/format/sinceKotlin.package.md +++ b/core/testdata/format/sinceKotlin.package.md @@ -1,4 +1,4 @@ -[test](test/index) +[test](./index.md) ## Package <root> @@ -6,5 +6,5 @@ ### Types -| [Since1.1](test/-since1.1/index)<br>(Kotlin 1.1) | `class Since1.1`<br>Useful | +| [Since1.1](-since1.1/index.md)<br>(Kotlin 1.1) | `class Since1.1`<br>Useful | diff --git a/core/testdata/format/sinceKotlinWide.package.md b/core/testdata/format/sinceKotlinWide.package.md index f683b178..58a5045e 100644 --- a/core/testdata/format/sinceKotlinWide.package.md +++ b/core/testdata/format/sinceKotlinWide.package.md @@ -1,4 +1,4 @@ -[test](test/index) +[test](./index.md) ## Package <root> @@ -6,6 +6,6 @@ ### Types -| [Since1.1](test/-since1.1/index)<br>(Kotlin 1.1) | `class Since1.1`<br>Useful | -| [Since1.2](test/-since1.2/index)<br>(Kotlin 1.2) | `class Since1.2`<br>Useful also | +| [Since1.1](-since1.1/index.md)<br>(Kotlin 1.1) | `class Since1.1`<br>Useful | +| [Since1.2](-since1.2/index.md)<br>(Kotlin 1.2) | `class Since1.2`<br>Useful also | diff --git a/core/testdata/format/starProjection.md b/core/testdata/format/starProjection.md index 6f796e77..5a53e5b9 100644 --- a/core/testdata/format/starProjection.md +++ b/core/testdata/format/starProjection.md @@ -1,6 +1,6 @@ -[test](test/index) / [kotlin.collections.Iterable](test/kotlin.collections.-iterable/index) +[test](../index.md) / [kotlin.collections.Iterable](./index.md) ### Extensions for kotlin.collections.Iterable -| [containsFoo](test/kotlin.collections.-iterable/contains-foo) | `fun Iterable<*>.containsFoo(element: Any?): Boolean` | +| [containsFoo](contains-foo.md) | `fun Iterable<*>.containsFoo(element: Any?): Boolean` | diff --git a/core/testdata/format/summarizeSignatures.md b/core/testdata/format/summarizeSignatures.md index c1830fb5..4f494166 100644 --- a/core/testdata/format/summarizeSignatures.md +++ b/core/testdata/format/summarizeSignatures.md @@ -1,14 +1,14 @@ -[test](test/index) / [kotlin](test/kotlin/index) +[test](../index.md) / [kotlin](./index.md) ## Package kotlin ### Types -| [Array](test/kotlin/-array/index) | `class Array<T>` | -| [CharArray](test/kotlin/-char-array/index) | `class CharArray` | -| [IntArray](test/kotlin/-int-array/index) | `class IntArray` | +| [Array](-array/index.md) | `class Array<T>` | +| [CharArray](-char-array/index.md) | `class CharArray` | +| [IntArray](-int-array/index.md) | `class IntArray` | ### Functions -| [foo](test/kotlin/foo) | `fun <T> any_array<T>.foo(predicate: (`[`T`](test/kotlin/foo#T)`) -> Boolean): Boolean`<br>Returns true if foo. | +| [foo](foo.md) | `fun <T> any_array<T>.foo(predicate: (`[`T`](foo.md#T)`) -> Boolean): Boolean`<br>Returns true if foo. | diff --git a/core/testdata/format/summarizeSignaturesProperty.md b/core/testdata/format/summarizeSignaturesProperty.md index 712aebd4..507ad6a5 100644 --- a/core/testdata/format/summarizeSignaturesProperty.md +++ b/core/testdata/format/summarizeSignaturesProperty.md @@ -1,14 +1,14 @@ -[test](test/index) / [kotlin](test/kotlin/index) +[test](../index.md) / [kotlin](./index.md) ## Package kotlin ### Types -| [Array](test/kotlin/-array/index) | `class Array<T>` | -| [CharArray](test/kotlin/-char-array/index) | `class CharArray` | -| [IntArray](test/kotlin/-int-array/index) | `class IntArray` | +| [Array](-array/index.md) | `class Array<T>` | +| [CharArray](-char-array/index.md) | `class CharArray` | +| [IntArray](-int-array/index.md) | `class IntArray` | ### Properties -| [foo](test/kotlin/foo) | `val <T> any_array<T>.foo: Int`<br>Returns true if foo. | +| [foo](foo.md) | `val <T> any_array<T>.foo: Int`<br>Returns true if foo. | diff --git a/core/testdata/format/suspendParam.md b/core/testdata/format/suspendParam.md index cf11f57b..ab116140 100644 --- a/core/testdata/format/suspendParam.md +++ b/core/testdata/format/suspendParam.md @@ -1,4 +1,4 @@ -[test](test/index) / [takesSuspendParam](test/takes-suspend-param) +[test](index.md) / [takesSuspendParam](./takes-suspend-param.md) # takesSuspendParam diff --git a/core/testdata/format/suspendParam.package.md b/core/testdata/format/suspendParam.package.md index 463ba356..92bd7ee7 100644 --- a/core/testdata/format/suspendParam.package.md +++ b/core/testdata/format/suspendParam.package.md @@ -1,8 +1,8 @@ -[test](test/index) +[test](./index.md) ## Package <root> ### Functions -| [takesSuspendParam](test/takes-suspend-param) | `fun takesSuspendParam(func: suspend () -> Unit): Unit` | +| [takesSuspendParam](takes-suspend-param.md) | `fun takesSuspendParam(func: suspend () -> Unit): Unit` | diff --git a/core/testdata/format/throwsTag.md b/core/testdata/format/throwsTag.md index a476fa1b..70fba512 100644 --- a/core/testdata/format/throwsTag.md +++ b/core/testdata/format/throwsTag.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/tokensInEmphasis.md b/core/testdata/format/tokensInEmphasis.md index 79dde6f0..a68861de 100644 --- a/core/testdata/format/tokensInEmphasis.md +++ b/core/testdata/format/tokensInEmphasis.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -6,15 +6,15 @@ Another emphasised class. -*This class, [Bar](test/-bar/index) is just meh.* +*This class, [Bar](./index.md) is just meh.* -*For a semicolon; [Bar.foo](test/-bar/foo) is for you!.* +*For a semicolon; [Bar.foo](foo.md) is for you!.* ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>Another emphasised class. | +| [<init>](-init-.md) | `Bar()`<br>Another emphasised class. | ### Functions -| [foo](test/-bar/foo) | `fun foo(): String` | +| [foo](foo.md) | `fun foo(): String` | diff --git a/core/testdata/format/tokensInHeaders.md b/core/testdata/format/tokensInHeaders.md index 46a1e9a5..bd25492e 100644 --- a/core/testdata/format/tokensInHeaders.md +++ b/core/testdata/format/tokensInHeaders.md @@ -1,4 +1,4 @@ -[test](test/index) / [The](test/-the/index) +[test](../index.md) / [The](./index.md) # The @@ -6,32 +6,32 @@ Why did the token cross the road? -# Because it was Beer o'clock @ [The.bar](test/-the/bar) +# Because it was Beer o'clock @ [The.bar](bar.md) ## But **waz *\[sic\]* [it](isitbeeroclock.com)** really? -### [The.bar](test/-the/bar) has? [The.foo](test/-the/foo)est drinks ever! +### [The.bar](bar.md) has? [The.foo](foo.md)est drinks ever! -#### *[The.kotlinz](test/-the/kotlinz) is [The.bestests](test/-the/bestests), [Bar.none](test/-the/-bar/none)* +#### *[The.kotlinz](kotlinz.md) is [The.bestests](bestests.md), [Bar.none](-bar/none.md)* -##### So many lame code "puns" (in) [The.house](test/-the/house) +##### So many lame code "puns" (in) [The.house](house.md) ###### End of the?? [Bar.line](#)! - we need to go back! ### Types -| [Bar](test/-the/-bar/index) | `object Bar` | +| [Bar](-bar/index.md) | `object Bar` | ### Constructors -| [<init>](test/-the/-init-) | `The()`<br>Why did the token cross the road? | +| [<init>](-init-.md) | `The()`<br>Why did the token cross the road? | ### Functions -| [bar](test/-the/bar) | `fun bar(): Unit` | -| [bestests](test/-the/bestests) | `fun bestests(): Unit` | -| [foo](test/-the/foo) | `fun foo(): Unit` | -| [house](test/-the/house) | `fun house(): Unit` | -| [kotlinz](test/-the/kotlinz) | `fun kotlinz(): Unit` | -| [line](test/-the/line) | `fun line(): Unit` | +| [bar](bar.md) | `fun bar(): Unit` | +| [bestests](bestests.md) | `fun bestests(): Unit` | +| [foo](foo.md) | `fun foo(): Unit` | +| [house](house.md) | `fun house(): Unit` | +| [kotlinz](kotlinz.md) | `fun kotlinz(): Unit` | +| [line](line.md) | `fun line(): Unit` | diff --git a/core/testdata/format/tokensInStrong.md b/core/testdata/format/tokensInStrong.md index e1abe030..2781656c 100644 --- a/core/testdata/format/tokensInStrong.md +++ b/core/testdata/format/tokensInStrong.md @@ -1,20 +1,20 @@ -[test](test/index) / [Yasc](test/-yasc/index) +[test](../index.md) / [Yasc](./index.md) # Yasc `class Yasc` -**YASC: [Yasc](test/-yasc/index) Yet Another Strong Class** +**YASC: [Yasc](./index.md) Yet Another Strong Class** -**This class, [Yasc](test/-yasc/index) *is* just meh.** +**This class, [Yasc](./index.md) *is* just meh.** -**For a semicolon; [Yasc.foo](test/-yasc/foo) is for you!.** +**For a semicolon; [Yasc.foo](foo.md) is for you!.** ### Constructors -| [<init>](test/-yasc/-init-) | `Yasc()`<br>**YASC: [Yasc](test/-yasc/index) Yet Another Strong Class** | +| [<init>](-init-.md) | `Yasc()`<br>**YASC: [Yasc](./index.md) Yet Another Strong Class** | ### Functions -| [foo](test/-yasc/foo) | `fun foo(): String` | +| [foo](foo.md) | `fun foo(): String` | diff --git a/core/testdata/format/tripleBackticks.html b/core/testdata/format/tripleBackticks.html index bac3385c..dacd0567 100644 --- a/core/testdata/format/tripleBackticks.html +++ b/core/testdata/format/tripleBackticks.html @@ -4,7 +4,7 @@ <title>f - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/f">f</a><br/> +<a href="index.html">test</a> / <a href="./f.html">f</a><br/> <br/> <h1>f</h1> <a name="$f()"></a> diff --git a/core/testdata/format/typeAliases.md b/core/testdata/format/typeAliases.md index 2a813c32..218c4848 100644 --- a/core/testdata/format/typeAliases.md +++ b/core/testdata/format/typeAliases.md @@ -1,63 +1,104 @@ -[test](test/index) / [A](test/-a/index) +<!-- File: test/-a/index.md --> +[test](../index.md) / [A](./index.md) # A -`class A`[test](test/index) / [B](test/-b/index) +`class A` + +### Constructors + +| [<init>](-init-.md) | `A()` | + +<!-- File: test/-b/index.md --> +[test](../index.md) / [B](./index.md) # B -`class B`[test](test/index) / [C](test/-c/index) +`class B` + +### Constructors + +| [<init>](-init-.md) | `B()` | + +<!-- File: test/-c/index.md --> +[test](../index.md) / [C](./index.md) # C -`class C<T>`[test](test/index) / [D](test/-d) +`class C<T>` + +### Constructors + +| [<init>](-init-.md) | `C()` | + +<!-- File: test/-d.md --> +[test](index.md) / [D](./-d.md) # D -`typealias D = `[`A`](test/-a/index)[test](test/index) / [E](test/-e) +`typealias D = `[`A`](-a/index.md) +<!-- File: test/-e.md --> +[test](index.md) / [E](./-e.md) # E -`typealias E = `[`D`](test/-d)[test](test/index) / [F](test/-f) +`typealias E = `[`D`](-d.md) +<!-- File: test/-f.md --> +[test](index.md) / [F](./-f.md) # F -`typealias F = (`[`A`](test/-a/index)`) -> `[`B`](test/-b/index)[test](test/index) / [G](test/-g) +`typealias F = (`[`A`](-a/index.md)`) -> `[`B`](-b/index.md) +<!-- File: test/-g.md --> +[test](index.md) / [G](./-g.md) # G -`typealias G = `[`C`](test/-c/index)`<`[`A`](test/-a/index)`>`[test](test/index) / [H](test/-h) +`typealias G = `[`C`](-c/index.md)`<`[`A`](-a/index.md)`>` +<!-- File: test/-h.md --> +[test](index.md) / [H](./-h.md) # H -`typealias H<T> = `[`C`](test/-c/index)`<`[`T`](test/-h#T)`>`[test](test/index) / [I](test/-i) +`typealias H<T> = `[`C`](-c/index.md)`<`[`T`](-h.md#T)`>` +<!-- File: test/-i.md --> +[test](index.md) / [I](./-i.md) # I -`typealias I<T> = `[`H`](test/-h)`<`[`T`](test/-i#T)`>`[test](test/index) / [J](test/-j) +`typealias I<T> = `[`H`](-h.md)`<`[`T`](-i.md#T)`>` +<!-- File: test/-j.md --> +[test](index.md) / [J](./-j.md) # J -`typealias J = `[`H`](test/-h)`<`[`A`](test/-a/index)`>`[test](test/index) / [K](test/-k) +`typealias J = `[`H`](-h.md)`<`[`A`](-a/index.md)`>` +<!-- File: test/-k.md --> +[test](index.md) / [K](./-k.md) # K -`typealias K = `[`H`](test/-h)`<`[`J`](test/-j)`>`[test](test/index) / [L](test/-l) +`typealias K = `[`H`](-h.md)`<`[`J`](-j.md)`>` +<!-- File: test/-l.md --> +[test](index.md) / [L](./-l.md) # L -`typealias L = (`[`K`](test/-k)`, `[`B`](test/-b/index)`) -> `[`J`](test/-j)[test](test/index) / [M](test/-m) +`typealias L = (`[`K`](-k.md)`, `[`B`](-b/index.md)`) -> `[`J`](-j.md) +<!-- File: test/-m.md --> +[test](index.md) / [M](./-m.md) # M -`typealias M = `[`A`](test/-a/index) +`typealias M = `[`A`](-a/index.md) Documented -[test](test/index) / [N](test/-n) +<!-- File: test/-n.md --> +[test](index.md) / [N](./-n.md) # N -`typealias ~~N~~ = `[`A`](test/-a/index) +`typealias ~~N~~ = `[`A`](-a/index.md) **Deprecated:** !!! diff --git a/core/testdata/format/typeAliases.package.md b/core/testdata/format/typeAliases.package.md index 9407588b..199e91c2 100644 --- a/core/testdata/format/typeAliases.package.md +++ b/core/testdata/format/typeAliases.package.md @@ -1,24 +1,24 @@ -[test](test/index) +[test](./index.md) ## Package <root> ### Types -| [A](test/-a/index) | `class A` | -| [B](test/-b/index) | `class B` | -| [C](test/-c/index) | `class C<T>` | +| [A](-a/index.md) | `class A` | +| [B](-b/index.md) | `class B` | +| [C](-c/index.md) | `class C<T>` | ### Type Aliases -| [D](test/-d) | `typealias D = `[`A`](test/-a/index) | -| [E](test/-e) | `typealias E = `[`D`](test/-d) | -| [F](test/-f) | `typealias F = (`[`A`](test/-a/index)`) -> `[`B`](test/-b/index) | -| [G](test/-g) | `typealias G = `[`C`](test/-c/index)`<`[`A`](test/-a/index)`>` | -| [H](test/-h) | `typealias H<T> = `[`C`](test/-c/index)`<`[`T`](test/-h#T)`>` | -| [I](test/-i) | `typealias I<T> = `[`H`](test/-h)`<`[`T`](test/-i#T)`>` | -| [J](test/-j) | `typealias J = `[`H`](test/-h)`<`[`A`](test/-a/index)`>` | -| [K](test/-k) | `typealias K = `[`H`](test/-h)`<`[`J`](test/-j)`>` | -| [L](test/-l) | `typealias L = (`[`K`](test/-k)`, `[`B`](test/-b/index)`) -> `[`J`](test/-j) | -| [M](test/-m) | `typealias M = `[`A`](test/-a/index)<br>Documented | -| [N](test/-n) | `typealias ~~N~~ = `[`A`](test/-a/index) | +| [D](-d.md) | `typealias D = `[`A`](-a/index.md) | +| [E](-e.md) | `typealias E = `[`D`](-d.md) | +| [F](-f.md) | `typealias F = (`[`A`](-a/index.md)`) -> `[`B`](-b/index.md) | +| [G](-g.md) | `typealias G = `[`C`](-c/index.md)`<`[`A`](-a/index.md)`>` | +| [H](-h.md) | `typealias H<T> = `[`C`](-c/index.md)`<`[`T`](-h.md#T)`>` | +| [I](-i.md) | `typealias I<T> = `[`H`](-h.md)`<`[`T`](-i.md#T)`>` | +| [J](-j.md) | `typealias J = `[`H`](-h.md)`<`[`A`](-a/index.md)`>` | +| [K](-k.md) | `typealias K = `[`H`](-h.md)`<`[`J`](-j.md)`>` | +| [L](-l.md) | `typealias L = (`[`K`](-k.md)`, `[`B`](-b/index.md)`) -> `[`J`](-j.md) | +| [M](-m.md) | `typealias M = `[`A`](-a/index.md)<br>Documented | +| [N](-n.md) | `typealias ~~N~~ = `[`A`](-a/index.md) | diff --git a/core/testdata/format/typeLink.html b/core/testdata/format/typeLink.html index 2e51863f..30af8a93 100644 --- a/core/testdata/format/typeLink.html +++ b/core/testdata/format/typeLink.html @@ -4,16 +4,16 @@ <title>Bar - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/-bar/index">Bar</a><br/> +<a href="../index.html">test</a> / <a href="./index.html">Bar</a><br/> <br/> <h1>Bar</h1> -<code><span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="test/-foo/index"><span class="identifier">Foo</span></a></code> +<code><span class="keyword">class </span><span class="identifier">Bar</span> <span class="symbol">:</span> <a href="../-foo/index.html"><span class="identifier">Foo</span></a></code> <h3>Constructors</h3> <table> <tbody> <tr> <td> -<p><a href="test/-bar/-init-"><init></a></p> +<p><a href="-init-.html"><init></a></p> </td> <td> <code><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></code></td> diff --git a/core/testdata/format/typeParameterBounds.md b/core/testdata/format/typeParameterBounds.md index 8f369ed6..cf03b3a7 100644 --- a/core/testdata/format/typeParameterBounds.md +++ b/core/testdata/format/typeParameterBounds.md @@ -1,8 +1,8 @@ -[test](test/index) / [generic](test/generic) +[test](index.md) / [generic](./generic.md) # generic -`fun <T : `[`R`](test/generic#R)`, R> generic(): Unit` +`fun <T : `[`R`](generic.md#R)`, R> generic(): Unit` generic function diff --git a/core/testdata/format/typeParameterReference.md b/core/testdata/format/typeParameterReference.md index ea49d48a..5001d321 100644 --- a/core/testdata/format/typeParameterReference.md +++ b/core/testdata/format/typeParameterReference.md @@ -1,8 +1,8 @@ -[test](test/index) / [tt](test/tt) +[test](index.md) / [tt](./tt.md) # tt -`fun <T> `[`T`](test/tt#T)`.tt(): Unit` +`fun <T> `[`T`](tt.md#T)`.tt(): Unit` -Correct ref to [T](test/tt#T) +Correct ref to [T](tt.md#T) diff --git a/core/testdata/format/typeParameterVariance.md b/core/testdata/format/typeParameterVariance.md index 01f5562c..b0615d43 100644 --- a/core/testdata/format/typeParameterVariance.md +++ b/core/testdata/format/typeParameterVariance.md @@ -1,4 +1,4 @@ -[test](test/index) / [Foo](test/-foo/index) +[test](../index.md) / [Foo](./index.md) # Foo @@ -10,5 +10,5 @@ ### Constructors -| [<init>](test/-foo/-init-) | `Foo()` | +| [<init>](-init-.md) | `Foo()` | diff --git a/core/testdata/format/typeProjectionVariance.md b/core/testdata/format/typeProjectionVariance.md index 072b9fc7..d3a55c58 100644 --- a/core/testdata/format/typeProjectionVariance.md +++ b/core/testdata/format/typeProjectionVariance.md @@ -1,6 +1,6 @@ -[test](test/index) / [kotlin.Array](test/kotlin.-array/index) +[test](../index.md) / [kotlin.Array](./index.md) ### Extensions for kotlin.Array -| [foo](test/kotlin.-array/foo) | `fun <T> Array<out `[`T`](test/kotlin.-array/foo#T)`>.foo(): Unit` | +| [foo](foo.md) | `fun <T> Array<out `[`T`](foo.md#T)`>.foo(): Unit` | diff --git a/core/testdata/format/uninterpretedEmphasisCharacters.html b/core/testdata/format/uninterpretedEmphasisCharacters.html index ced7d0a5..dd338f72 100644 --- a/core/testdata/format/uninterpretedEmphasisCharacters.html +++ b/core/testdata/format/uninterpretedEmphasisCharacters.html @@ -4,7 +4,7 @@ <title>foo - test</title> </HEAD> <BODY> -<a href="test/index">test</a> / <a href="test/foo">foo</a><br/> +<a href="index.html">test</a> / <a href="./foo.html">foo</a><br/> <br/> <h1>foo</h1> <a name="$foo()"></a> diff --git a/core/testdata/format/unorderedLists.md b/core/testdata/format/unorderedLists.md index a6b00b34..52ad9a71 100644 --- a/core/testdata/format/unorderedLists.md +++ b/core/testdata/format/unorderedLists.md @@ -1,4 +1,4 @@ -[test](test/index) / [Bar](test/-bar/index) +[test](../index.md) / [Bar](./index.md) # Bar @@ -11,9 +11,9 @@ Usage summary: Usage instructions: -* [Bar.rinse](test/-bar/rinse) to rinse +* [Bar.rinse](rinse.md) to rinse * Alter any rinse options *(optional)* -* To repeat; [Bar.repeat](test/-bar/repeat) +* To repeat; [Bar.repeat](repeat.md) * Can reconfigure options: * Soap * Elbow Grease @@ -21,27 +21,27 @@ Usage instructions: Rinse options: -* [Bar.useSoap](test/-bar/use-soap) +* [Bar.useSoap](use-soap.md) * *recommended* -* [Bar.useElbowGrease](test/-bar/use-elbow-grease) +* [Bar.useElbowGrease](use-elbow-grease.md) * *warning: requires effort* -* [Bar.useBleach](test/-bar/use-bleach) +* [Bar.useBleach](use-bleach.md) * **use with caution** ### Constructors -| [<init>](test/-bar/-init-) | `Bar()`<br>Usage summary: | +| [<init>](-init-.md) | `Bar()`<br>Usage summary: | ### Properties -| [useBleach](test/-bar/use-bleach) | `var useBleach: Boolean` | -| [useElbowGrease](test/-bar/use-elbow-grease) | `var useElbowGrease: Boolean` | -| [useSoap](test/-bar/use-soap) | `var useSoap: Boolean` | +| [useBleach](use-bleach.md) | `var useBleach: Boolean` | +| [useElbowGrease](use-elbow-grease.md) | `var useElbowGrease: Boolean` | +| [useSoap](use-soap.md) | `var useSoap: Boolean` | ### Functions -| [repeat](test/-bar/repeat) | `fun repeat(): Unit` | -| [rinse](test/-bar/rinse) | `fun rinse(): Unit` | +| [repeat](repeat.md) | `fun repeat(): Unit` | +| [rinse](rinse.md) | `fun rinse(): Unit` | diff --git a/core/testdata/format/varargsFunction.md b/core/testdata/format/varargsFunction.md index 85ac9c92..550202cc 100644 --- a/core/testdata/format/varargsFunction.md +++ b/core/testdata/format/varargsFunction.md @@ -1,4 +1,4 @@ -[test](test/index) / [f](test/f) +[test](index.md) / [f](./f.md) # f diff --git a/core/testdata/format/website-html/dataTags/multiplatform.package.html b/core/testdata/format/website-html/dataTags/multiplatform.package.html index 15e1fc12..35453ab1 100644 --- a/core/testdata/format/website-html/dataTags/multiplatform.package.html +++ b/core/testdata/format/website-html/dataTags/multiplatform.package.html @@ -1,10 +1,10 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/foo/index">foo</a></div> +<div class='api-docs-breadcrumbs'><a href="../index.html">test</a> / <a href="./index.html">foo</a></div> <h2>Package foo</h2> <h3>Functions</h3> <table class="api-docs-table"> <tbody> <tr data-platform="JVM" data-jre-version="JRE7"><td> -<p><a href="test/foo/jre7">jre7</a></p> +<p><a href="jre7.html">jre7</a></p> </td> <td> @@ -12,7 +12,7 @@ </td> </tr><tr data-platform="JVM" data-kotlin-version="Kotlin 1.1" data-jre-version="JRE7"><td> -<p><a href="test/foo/jre7-new">jre7New</a></p> +<p><a href="jre7-new.html">jre7New</a></p> </td> <td> @@ -20,7 +20,7 @@ </td> </tr><tr data-platform="JS"><td> -<p><a href="test/foo/js">js</a></p> +<p><a href="js.html">js</a></p> </td> <td> @@ -28,7 +28,7 @@ </td> </tr><tr data-platform="JS" data-kotlin-version="Kotlin 1.1"><td> -<p><a href="test/foo/js-new">jsNew</a></p> +<p><a href="js-new.html">jsNew</a></p> </td> <td> @@ -36,7 +36,7 @@ </td> </tr><tr data-platform="JVM"><td> -<p><a href="test/foo/jvm">jvm</a></p> +<p><a href="jvm.html">jvm</a></p> </td> <td> @@ -44,7 +44,7 @@ </td> </tr><tr data-platform="JVM" data-kotlin-version="Kotlin 1.1"><td> -<p><a href="test/foo/jvm-new">jvmNew</a></p> +<p><a href="jvm-new.html">jvmNew</a></p> </td> <td> @@ -52,7 +52,7 @@ </td> </tr><tr data-platform="JVM, JS" data-jre-version="JRE7"><td> -<p><a href="test/foo/shared">shared</a></p> +<p><a href="shared.html">shared</a></p> </td> <td> @@ -60,7 +60,7 @@ </td> </tr><tr data-platform="JVM, JS" data-kotlin-version="Kotlin 1.1" data-jre-version="JRE7"><td> -<p><a href="test/foo/shared-new">sharedNew</a></p> +<p><a href="shared-new.html">sharedNew</a></p> </td> <td> diff --git a/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.html b/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.html index 35773561..3d34fc7e 100644 --- a/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.html +++ b/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/pack/index">pack</a> / <a href="test/pack/-some/index">Some</a></div> +<div class='api-docs-breadcrumbs'><a href="../../index.html">test</a> / <a href="../index.html">pack</a> / <a href="./index.html">Some</a></div> <h1>Some</h1> <div class="overload-group" data-platform="JVM"><div class="signature"><code><span class="keyword">typealias </span><span class="identifier">Some</span> <span class="symbol">=</span> <span class="identifier">SomeCoolJvmClass</span></code></div> <p><strong>Platform and version requirements:</strong> JVM</p> @@ -10,7 +10,7 @@ <tbody> <tr> <td> -<p><a href="test/pack/-some/-some/-init-"><init></a></p> +<p><a href="-some/-init-.html"><init></a></p> </td> <td> @@ -25,7 +25,7 @@ <tbody> <tr> <td> -<p><a href="test/pack/-some/-some/magic">magic</a></p> +<p><a href="-some/magic.html">magic</a></p> </td> <td> diff --git a/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.package.html b/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.package.html index 15ae2a5b..c8926a28 100644 --- a/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.package.html +++ b/core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.package.html @@ -1,10 +1,10 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/pack/index">pack</a></div> +<div class='api-docs-breadcrumbs'><a href="../index.html">test</a> / <a href="./index.html">pack</a></div> <h2>Package pack</h2> <h3>Types</h3> <table class="api-docs-table"> <tbody> <tr data-platform="JS"><td> -<p><a href="test/pack/-some/index">Some</a></p> +<p><a href="-some/index.html">Some</a></p> </td> <td> @@ -12,7 +12,7 @@ </td> </tr><tr data-platform="JVM"><td> -<p><a href="test/pack/-some-cool-jvm-class/index">SomeCoolJvmClass</a></p> +<p><a href="-some-cool-jvm-class/index.html">SomeCoolJvmClass</a></p> </td> <td> @@ -25,7 +25,7 @@ <table class="api-docs-table"> <tbody> <tr data-platform="JVM"><td> -<p><a href="test/pack/-some/index">Some</a></p> +<p><a href="-some/index.html">Some</a></p> </td> <td> diff --git a/core/testdata/format/website-html/dropImport.html b/core/testdata/format/website-html/dropImport.html index 97ff4a68..e0fcb12b 100644 --- a/core/testdata/format/website-html/dropImport.html +++ b/core/testdata/format/website-html/dropImport.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/foo">foo</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./foo.html">foo</a></div> <h1>foo</h1> <a name="$foo()"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></div> diff --git a/core/testdata/format/website-html/newLinesInImportList.html b/core/testdata/format/website-html/newLinesInImportList.html index 334ed11c..b5a07325 100644 --- a/core/testdata/format/website-html/newLinesInImportList.html +++ b/core/testdata/format/website-html/newLinesInImportList.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/foo">foo</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./foo.html">foo</a></div> <h1>foo</h1> <a name="$foo()"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></div> diff --git a/core/testdata/format/website-html/newLinesInSamples.html b/core/testdata/format/website-html/newLinesInSamples.html index ab70140d..50f875da 100644 --- a/core/testdata/format/website-html/newLinesInSamples.html +++ b/core/testdata/format/website-html/newLinesInSamples.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/foo">foo</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./foo.html">foo</a></div> <h1>foo</h1> <a name="$foo()"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></code></div> diff --git a/core/testdata/format/website-html/overloadGroup.html b/core/testdata/format/website-html/overloadGroup.html index 3ea7de94..aaba9c96 100644 --- a/core/testdata/format/website-html/overloadGroup.html +++ b/core/testdata/format/website-html/overloadGroup.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/magic">magic</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./magic.html">magic</a></div> <h1>magic</h1> <div class="overload-group"><a name="$magic(kotlin.String)"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">magic</span><span class="symbol">(</span><span class="parameterName" id="$magic(kotlin.String)/spell">spell</span><span class="symbol">:</span> <span class="identifier">String</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code></div> diff --git a/core/testdata/format/website-html/returnTag.html b/core/testdata/format/website-html/returnTag.html index d4190fa1..7724eaa7 100644 --- a/core/testdata/format/website-html/returnTag.html +++ b/core/testdata/format/website-html/returnTag.html @@ -1,9 +1,9 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/index-of">indexOf</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./index-of.html">indexOf</a></div> <h1>indexOf</h1> <a name="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)"></a> -<div class="signature"><code><span class="keyword">fun </span><a href="test/-foo/index"><span class="identifier">Foo</span></a><span class="symbol">.</span><span class="identifier">indexOf</span><span class="symbol">(</span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</span><span class="symbol">:</span> <span class="identifier">Char</span><span class="symbol">, </span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</span><span class="symbol">:</span> <span class="identifier">Int</span> <span class="symbol">=</span> 0<span class="symbol">, </span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/ignoreCase">ignoreCase</span><span class="symbol">:</span> <span class="identifier">Boolean</span> <span class="symbol">=</span> false<br/><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code></div> -<p>Returns the index within this string of the first occurrence of the specified character, starting from the specified <a href="test/index-of#$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</a>.</p> +<div class="signature"><code><span class="keyword">fun </span><a href="-foo/index.html"><span class="identifier">Foo</span></a><span class="symbol">.</span><span class="identifier">indexOf</span><span class="symbol">(</span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</span><span class="symbol">:</span> <span class="identifier">Char</span><span class="symbol">, </span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</span><span class="symbol">:</span> <span class="identifier">Int</span> <span class="symbol">=</span> 0<span class="symbol">, </span><br/> <span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/ignoreCase">ignoreCase</span><span class="symbol">:</span> <span class="identifier">Boolean</span> <span class="symbol">=</span> false<br/><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code></div> +<p>Returns the index within this string of the first occurrence of the specified character, starting from the specified <a href="index-of.html#$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</a>.</p> <h3>Parameters</h3> <p><a name="ignoreCase"></a> <code>ignoreCase</code> - <code>true</code> to ignore character case when matching a character. By default <code>false</code>.</p> -<p><strong>Returns</strong> An index of the first occurrence of <a href="test/index-of#$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</a> or -1 if none is found.</p> +<p><strong>Returns</strong> An index of the first occurrence of <a href="index-of.html#$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</a> or -1 if none is found.</p> diff --git a/core/testdata/format/website-html/sample.html b/core/testdata/format/website-html/sample.html index d709edc4..1fb26e41 100644 --- a/core/testdata/format/website-html/sample.html +++ b/core/testdata/format/website-html/sample.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/foo">foo</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./foo.html">foo</a></div> <h1>foo</h1> <div class="overload-group"><a name="$foo()"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Int</span></code></div> diff --git a/core/testdata/format/website-html/sampleWithAsserts.html b/core/testdata/format/website-html/sampleWithAsserts.html index 11a3a626..e91232f5 100644 --- a/core/testdata/format/website-html/sampleWithAsserts.html +++ b/core/testdata/format/website-html/sampleWithAsserts.html @@ -1,4 +1,4 @@ -<div class='api-docs-breadcrumbs'><a href="test/index">test</a> / <a href="test/a">a</a></div> +<div class='api-docs-breadcrumbs'><a href="index.html">test</a> / <a href="./a.html">a</a></div> <h1>a</h1> <a name="$a()"></a> <div class="signature"><code><span class="keyword">fun </span><span class="identifier">a</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">String</span></code></div> |