diff options
author | Ilya Ryzhenkov <orangy@jetbrains.com> | 2014-10-03 20:20:02 +0400 |
---|---|---|
committer | Ilya Ryzhenkov <orangy@jetbrains.com> | 2014-10-03 20:20:02 +0400 |
commit | d6fd04521ba4c4c430286078dd56309111c180e6 (patch) | |
tree | cd02584ade5cd0c0cfa8da30da5ccb0ea7b2131c /src/Model | |
parent | 7c6da4babd01da31c57c5c6c827eb2957c989b1c (diff) | |
download | dokka-d6fd04521ba4c4c430286078dd56309111c180e6.tar.gz dokka-d6fd04521ba4c4c430286078dd56309111c180e6.tar.bz2 dokka-d6fd04521ba4c4c430286078dd56309111c180e6.zip |
Cross-reference links on types, relative locations.
Diffstat (limited to 'src/Model')
-rw-r--r-- | src/Model/Content.kt | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/Model/Content.kt b/src/Model/Content.kt index 1b00bd34..4b92a958 100644 --- a/src/Model/Content.kt +++ b/src/Model/Content.kt @@ -18,16 +18,18 @@ public abstract class ContentNode { } public object ContentEmpty : ContentNode() +public open class ContentBlock() : ContentNode() public class ContentText(val text: String) : ContentNode() public class ContentKeyword(val text: String) : ContentNode() public class ContentIdentifier(val text: String) : ContentNode() public class ContentSymbol(val text: String) : ContentNode() -public class ContentBlock() : ContentNode() -public class ContentEmphasis() : ContentNode() -public class ContentStrong() : ContentNode() -public class ContentList() : ContentNode() -public class ContentSection(public val label: String) : ContentNode() +public class ContentEmphasis() : ContentBlock() +public class ContentNodeLink(val node : DocumentationNode) : ContentBlock() +public class ContentExternalLink(val href : String) : ContentBlock() +public class ContentStrong() : ContentBlock() +public class ContentList() : ContentBlock() +public class ContentSection(public val label: String) : ContentBlock() fun content(body: ContentNode.() -> Unit): ContentNode { val block = ContentBlock() @@ -40,6 +42,12 @@ fun ContentNode.keyword(value: String) = append(ContentKeyword(value)) fun ContentNode.symbol(value: String) = append(ContentSymbol(value)) fun ContentNode.identifier(value: String) = append(ContentIdentifier(value)) +fun ContentNode.link(to: DocumentationNode, body: ContentNode.() -> Unit) { + val block = ContentNodeLink(to) + block.body() + append(block) +} + public class Content() : ContentNode() { public val sections: Map<String, ContentSection> by Delegates.lazy { val map = hashMapOf<String, ContentSection>() |