aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/testdata/format/JavaSupertype.html10
-rw-r--r--core/testdata/format/accessor.md2
-rw-r--r--core/testdata/format/annotatedTypeParameter.md4
-rw-r--r--core/testdata/format/annotationClass.md4
-rw-r--r--core/testdata/format/annotationClass.package.md4
-rw-r--r--core/testdata/format/annotationParams.md2
-rw-r--r--core/testdata/format/annotations.md8
-rw-r--r--core/testdata/format/arrayAverage.md6
-rw-r--r--core/testdata/format/backtickInCodeBlock.md2
-rw-r--r--core/testdata/format/blankLineInsideCodeBlock.html2
-rw-r--r--core/testdata/format/blankLineInsideCodeBlock.md2
-rw-r--r--core/testdata/format/bracket.html2
-rw-r--r--core/testdata/format/brokenLink.html2
-rw-r--r--core/testdata/format/classWithCompanionObject.html8
-rw-r--r--core/testdata/format/classWithCompanionObject.md8
-rw-r--r--core/testdata/format/codeBlock.html44
-rw-r--r--core/testdata/format/codeBlock.md14
-rw-r--r--core/testdata/format/codeBlockNoHtmlEscape.md2
-rw-r--r--core/testdata/format/codeSpan.html2
-rw-r--r--core/testdata/format/companionImplements.md8
-rw-r--r--core/testdata/format/companionObjectExtension.md6
-rw-r--r--core/testdata/format/crossLanguage/kotlinExtendsJava/Bar.html12
-rw-r--r--core/testdata/format/deprecated.class.html38
-rw-r--r--core/testdata/format/deprecated.package.html8
-rw-r--r--core/testdata/format/dynamicExtension.md4
-rw-r--r--core/testdata/format/dynamicType.md2
-rw-r--r--core/testdata/format/emptyDescription.md2
-rw-r--r--core/testdata/format/entity.html4
-rw-r--r--core/testdata/format/enumClass.md6
-rw-r--r--core/testdata/format/enumClass.value.md2
-rw-r--r--core/testdata/format/exceptionClass.md4
-rw-r--r--core/testdata/format/exceptionClass.package.md4
-rw-r--r--core/testdata/format/exclInCodeBlock.md2
-rw-r--r--core/testdata/format/extensionFunctionParameter.md4
-rw-r--r--core/testdata/format/extensionScope.md4
-rw-r--r--core/testdata/format/extensionWithDocumentedReceiver.md2
-rw-r--r--core/testdata/format/extensions.class.md6
-rw-r--r--core/testdata/format/extensions.package.md4
-rw-r--r--core/testdata/format/externalReferenceLink.md2
-rw-r--r--core/testdata/format/functionWithDefaultParameter.md2
-rw-r--r--core/testdata/format/functionalTypeWithNamedParameters.html90
-rw-r--r--core/testdata/format/functionalTypeWithNamedParameters.md36
-rw-r--r--core/testdata/format/genericInheritedExtensions.md10
-rw-r--r--core/testdata/format/gfm/listInTableCell.md6
-rw-r--r--core/testdata/format/gfm/sample.md8
-rw-r--r--core/testdata/format/htmlEscaping.html4
-rw-r--r--core/testdata/format/inapplicableExtensionFunctions.md8
-rw-r--r--core/testdata/format/indentedCodeBlock.html2
-rw-r--r--core/testdata/format/indentedCodeBlock.md2
-rw-r--r--core/testdata/format/inheritedCompanionObjectProperties.md16
-rw-r--r--core/testdata/format/inheritedExtensions.md10
-rw-r--r--core/testdata/format/inheritedMembers.md14
-rw-r--r--core/testdata/format/javaCodeInParam.md4
-rw-r--r--core/testdata/format/javaCodeLiteralTags.md4
-rw-r--r--core/testdata/format/javaDeprecated.html4
-rw-r--r--core/testdata/format/javaLinkTag.html10
-rw-r--r--core/testdata/format/javaLinkTagWithLabel.html10
-rw-r--r--core/testdata/format/javaSeeTag.html8
-rw-r--r--core/testdata/format/javaSpaceInAuthor.md4
-rw-r--r--core/testdata/format/javadocHtml.md4
-rw-r--r--core/testdata/format/javadocOrderedList.md4
-rw-r--r--core/testdata/format/jdkLinks.md4
-rw-r--r--core/testdata/format/linkWithLabel.html10
-rw-r--r--core/testdata/format/linkWithStarProjection.html4
-rw-r--r--core/testdata/format/linksInEmphasis.md14
-rw-r--r--core/testdata/format/linksInHeaders.md28
-rw-r--r--core/testdata/format/linksInStrong.md14
-rw-r--r--core/testdata/format/markdownInLinks.html2
-rw-r--r--core/testdata/format/memberExtension.md6
-rw-r--r--core/testdata/format/multiplatform/breadcrumbsInMemberOfMemberOfGroupNode/multiplatform.md2
-rw-r--r--core/testdata/format/multiplatform/groupNode/multiplatform.md6
-rw-r--r--core/testdata/format/multiplatform/groupNode/multiplatform.package.md8
-rw-r--r--core/testdata/format/multiplatform/implied/foo.md16
-rw-r--r--core/testdata/format/multiplatform/merge/multiplatform.package.md4
-rw-r--r--core/testdata/format/multiplatform/mergeMembers/foo.md16
-rw-r--r--core/testdata/format/multiplatform/omitRedundant/foo.md8
-rw-r--r--core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.index.md4
-rw-r--r--core/testdata/format/multiplatform/packagePlatformsFromMembers/multiplatform.package.md4
-rw-r--r--core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.index.md4
-rw-r--r--core/testdata/format/multiplatform/packagePlatformsWithExtExtensions/multiplatform.package.md4
-rw-r--r--core/testdata/format/multiplatform/simple/multiplatform.package.md6
-rw-r--r--core/testdata/format/multipleTypeParameterConstraints.md13
-rw-r--r--core/testdata/format/nestedLists.md30
-rw-r--r--core/testdata/format/newlineInTableCell.package.md4
-rw-r--r--core/testdata/format/notPublishedTypeAliasAutoExpansion.md6
-rw-r--r--core/testdata/format/nullability.md6
-rw-r--r--core/testdata/format/operatorOverloading.md4
-rw-r--r--core/testdata/format/orderedList.html4
-rw-r--r--core/testdata/format/overloads.html4
-rw-r--r--core/testdata/format/overloadsWithDescription.html4
-rw-r--r--core/testdata/format/overloadsWithDifferentDescriptions.html2
-rw-r--r--core/testdata/format/overridingFunction.md4
-rw-r--r--core/testdata/format/paramTag.md2
-rw-r--r--core/testdata/format/parameterAnchor.html6
-rw-r--r--core/testdata/format/parenthesis.html2
-rw-r--r--core/testdata/format/propertyVar.md2
-rw-r--r--core/testdata/format/qualifiedNameLink.md2
-rw-r--r--core/testdata/format/receiverParameterTypeBound.md6
-rw-r--r--core/testdata/format/receiverReference.md4
-rw-r--r--core/testdata/format/referenceLink.md10
-rw-r--r--core/testdata/format/reifiedTypeParameter.md2
-rw-r--r--core/testdata/format/renderFunctionalTypeInParenthesisWhenItIsReceiver.md4
-rw-r--r--core/testdata/format/returnWithLink.html4
-rw-r--r--core/testdata/format/sampleByFQName.md7
-rw-r--r--core/testdata/format/sampleByShortName.md7
-rw-r--r--core/testdata/format/see.html31
-rw-r--r--core/testdata/format/shadowedExtensionFunctions.md10
-rw-r--r--core/testdata/format/sinceKotlin.html4
-rw-r--r--core/testdata/format/sinceKotlin.md4
-rw-r--r--core/testdata/format/sinceKotlin.package.md4
-rw-r--r--core/testdata/format/sinceKotlinWide.package.md6
-rw-r--r--core/testdata/format/starProjection.md4
-rw-r--r--core/testdata/format/summarizeSignatures.md10
-rw-r--r--core/testdata/format/summarizeSignaturesProperty.md10
-rw-r--r--core/testdata/format/suspendParam.md2
-rw-r--r--core/testdata/format/suspendParam.package.md4
-rw-r--r--core/testdata/format/throwsTag.md2
-rw-r--r--core/testdata/format/tokensInEmphasis.md10
-rw-r--r--core/testdata/format/tokensInHeaders.md26
-rw-r--r--core/testdata/format/tokensInStrong.md12
-rw-r--r--core/testdata/format/tripleBackticks.html2
-rw-r--r--core/testdata/format/typeAliases.md73
-rw-r--r--core/testdata/format/typeAliases.package.md30
-rw-r--r--core/testdata/format/typeLink.html6
-rw-r--r--core/testdata/format/typeParameterBounds.md4
-rw-r--r--core/testdata/format/typeParameterReference.md6
-rw-r--r--core/testdata/format/typeParameterVariance.md4
-rw-r--r--core/testdata/format/typeProjectionVariance.md4
-rw-r--r--core/testdata/format/uninterpretedEmphasisCharacters.html2
-rw-r--r--core/testdata/format/unorderedLists.md24
-rw-r--r--core/testdata/format/varargsFunction.md2
-rw-r--r--core/testdata/format/website-html/dataTags/multiplatform.package.html18
-rw-r--r--core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.html6
-rw-r--r--core/testdata/format/website-html/dataTagsInGroupNode/multiplatform.package.html8
-rw-r--r--core/testdata/format/website-html/dropImport.html2
-rw-r--r--core/testdata/format/website-html/newLinesInImportList.html2
-rw-r--r--core/testdata/format/website-html/newLinesInSamples.html2
-rw-r--r--core/testdata/format/website-html/overloadGroup.html2
-rw-r--r--core/testdata/format/website-html/returnTag.html8
-rw-r--r--core/testdata/format/website-html/sample.html2
-rw-r--r--core/testdata/format/website-html/sampleWithAsserts.html2
141 files changed, 711 insertions, 452 deletions
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>&nbsp;/&nbsp;<a href="test/-java-supertype/index">JavaSupertype</a>&nbsp;/&nbsp;<a href="test/-java-supertype/-bar/index">Bar</a><br/>
+<a href="../../index.html">test</a>&nbsp;/&nbsp;<a href="../index.html">JavaSupertype</a>&nbsp;/&nbsp;<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>&nbsp;<span class="symbol">:</span>&nbsp;<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>&nbsp;<span class="symbol">:</span>&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;<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>&nbsp;<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
-| [&lt;init&gt;](test/fancy/-init-) | `fancy()` |
+| [&lt;init&gt;](-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 &lt;root&gt;
### 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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-x-array/-init-) | `XArray()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/u">u</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/-klass/index">Klass</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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
-| [&lt;init&gt;](test/-klass/-init-) | `Klass()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/-throws/index">Throws</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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">&lt;init&gt;</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>&nbsp;/&nbsp;<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">++++++++++[&gt;+++++++&gt;++++++++++&gt;+++&gt;+&lt;&lt;&lt;&lt;-]&gt;++.&gt;+.+++++++..+++.&gt;++.&lt;&lt;+++++++++++++++.&gt;.+++.------.--------.&gt;+.&gt;.
</code></pre>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</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
+
+| [&lt;init&gt;](-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
+
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()`<br>Correct ref [Foo.Companion](test/-foo/-companion) |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/test/index">test</a>&nbsp;/&nbsp;<a href="test/test/-bar/index">Bar</a><br/>
+<a href="../../index.html">test</a>&nbsp;/&nbsp;<a href="../index.html">test</a>&nbsp;/&nbsp;<a href="./index.html">Bar</a><br/>
<br/>
<h1>Bar</h1>
-<code><span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<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>&nbsp;<span class="symbol">:</span>&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;/&nbsp;<a href="test/-c/index">C</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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 &lt;root&gt;</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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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
-| [&lt;init&gt;](test/-my-exception/-init-) | `MyException()` |
+| [&lt;init&gt;](-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 &lt;root&gt;
### 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>&nbsp;/&nbsp;<a href="test/-a/index">A</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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">&lt;init&gt;</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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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">&lt;init&gt;</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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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">&lt;init&gt;</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>&nbsp;/&nbsp;<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>&nbsp;<a href="test/-a/index"><span class="identifier">A</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">b</span><span class="symbol">:</span>&nbsp;<a href="test/-b/index"><span class="identifier">B</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="test/-c/index"><span class="identifier">C</span></a></code><a href="test/index">test</a>&nbsp;/&nbsp;<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>&nbsp;<a href="-a/index.html"><span class="identifier">A</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">b</span><span class="symbol">:</span>&nbsp;<a href="-b/index.html"><span class="identifier">B</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<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>&nbsp;/&nbsp;<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>&nbsp;<span class="symbol">(</span><span class="identifier">bb</span><span class="symbol">:</span>&nbsp;<a href="test/-b/index"><span class="identifier">B</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">aa</span><span class="symbol">:</span>&nbsp;<a href="test/-a/index"><span class="identifier">A</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<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>&nbsp;<span class="symbol">(</span><span class="identifier">bb</span><span class="symbol">:</span>&nbsp;<a href="-b/index.html"><span class="identifier">B</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">aa</span><span class="symbol">:</span>&nbsp;<a href="-a/index.html"><span class="identifier">A</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<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
+
+| [&lt;init&gt;](-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
+
+| [&lt;init&gt;](-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
+
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+| [&lt;init&gt;](-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 |
|---|---|
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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 |
|---|---|
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()`<br>The class Foo. |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/x">x</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<a href="./x.html">x</a><br/>
<br/>
<h1>x</h1>
<a name="$x()"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</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: &lt; is "less than", &gt; is "greater than", &amp; 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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-c/-init-) | `C()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-c/-init-) | `C()` |
+| [&lt;init&gt;](-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&lt;B&gt;C
### Constructors
-| [&lt;init&gt;](test/-c/-init-) | `C()`<br>`A<B>C` <br>A&lt;B&gt;C |
+| [&lt;init&gt;](-init-.md) | `C()`<br>`A<B>C` <br>A&lt;B&gt;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>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a>&nbsp;/&nbsp;<a href="test/-foo/foo">foo</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<a href="index.html">Foo</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;/&nbsp;<a href="test/-foo/index">Foo</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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
-| [&lt;init&gt;](test/-c/-init-) | `C()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-c/-init-) | `C()`<br>**Bold** **Strong** *Italic* *Emphasized* <br>Paragraph ~~Strikethrough~~ ~~Deleted~~ `Code`
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](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)) |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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>&nbsp;/&nbsp;<a href="test/-k-class-loader/index">KClassLoader</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;<span class="identifier">Enum</span><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>An emphasised class. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>Some class with really useless documentation. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>A strong class. |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/pack/-some/-some/-init-) | `Some()` |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/foo/-foo/-init-) | `Foo()`<br>This is a foo. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>Usage instructions: |
+| [&lt;init&gt;](-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 &lt;root&gt;
### 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
-| [&lt;init&gt;](test/-c/-init-) | `C()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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 &lt;root&gt;</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>&nbsp;<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>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<a href="test/process-files">processFiles</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</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>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<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">&lt;</span><a href="test/process-files#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</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>&nbsp;<span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<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">&lt;</span><a href="process-files.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;<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>&nbsp;/&nbsp;<a href="test/quux">quux</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/-since1.1/index">Since1.1</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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
-| [&lt;init&gt;](test/-since1.1/-init-) | `Since1.1()`<br>Useful |
+| [&lt;init&gt;](-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 &lt;root&gt;
@@ -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 &lt;root&gt;
@@ -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 &lt;root&gt;
### 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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>Another emphasised class. |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-the/-init-) | `The()`<br>Why did the token cross the road? |
+| [&lt;init&gt;](-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
-| [&lt;init&gt;](test/-yasc/-init-) | `Yasc()`<br>**YASC: [Yasc](test/-yasc/index) Yet Another Strong Class** |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/f">f</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
+
+| [&lt;init&gt;](-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
+
+| [&lt;init&gt;](-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
+
+| [&lt;init&gt;](-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 &lt;root&gt;
### 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>&nbsp;/&nbsp;<a href="test/-bar/index">Bar</a><br/>
+<a href="../index.html">test</a>&nbsp;/&nbsp;<a href="./index.html">Bar</a><br/>
<br/>
<h1>Bar</h1>
-<code><span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="test/-foo/index"><span class="identifier">Foo</span></a></code>
+<code><span class="keyword">class </span><span class="identifier">Bar</span>&nbsp;<span class="symbol">:</span>&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-init-.html">&lt;init&gt;</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
-| [&lt;init&gt;](test/-foo/-init-) | `Foo()` |
+| [&lt;init&gt;](-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>&nbsp;/&nbsp;<a href="test/foo">foo</a><br/>
+<a href="index.html">test</a>&nbsp;/&nbsp;<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
-| [&lt;init&gt;](test/-bar/-init-) | `Bar()`<br>Usage summary: |
+| [&lt;init&gt;](-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>&nbsp;<span class="symbol">=</span>&nbsp;<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-">&lt;init&gt;</a></p>
+<p><a href="-some/-init-.html">&lt;init&gt;</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>&nbsp;<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/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</span><span class="symbol">:</span>&nbsp;<span class="identifier">Char</span><span class="symbol">, </span><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/ignoreCase">ignoreCase</span><span class="symbol">:</span>&nbsp;<span class="identifier">Boolean</span>&nbsp;<span class="symbol">=</span>&nbsp;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/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/char">char</span><span class="symbol">:</span>&nbsp;<span class="identifier">Char</span><span class="symbol">, </span><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/startIndex">startIndex</span><span class="symbol">:</span>&nbsp;<span class="identifier">Int</span>&nbsp;<span class="symbol">=</span>&nbsp;0<span class="symbol">, </span><br/>&nbsp;&nbsp;&nbsp;&nbsp;<span class="parameterName" id="$indexOf(Foo, kotlin.Char, kotlin.Int, kotlin.Boolean)/ignoreCase">ignoreCase</span><span class="symbol">:</span>&nbsp;<span class="identifier">Boolean</span>&nbsp;<span class="symbol">=</span>&nbsp;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>