aboutsummaryrefslogtreecommitdiff
path: root/src/Model/PackageDocs.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Model/PackageDocs.kt')
-rw-r--r--src/Model/PackageDocs.kt60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/Model/PackageDocs.kt b/src/Model/PackageDocs.kt
deleted file mode 100644
index 044c73d8..00000000
--- a/src/Model/PackageDocs.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.jetbrains.dokka
-
-import com.google.inject.Inject
-import com.google.inject.Singleton
-import org.intellij.markdown.MarkdownElementTypes
-import org.intellij.markdown.MarkdownTokenTypes
-import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyPackageDescriptor
-import java.io.File
-
-@Singleton
-public class PackageDocs
- @Inject constructor(val linkResolver: DeclarationLinkResolver?,
- val logger: DokkaLogger)
-{
- public val moduleContent: MutableContent = MutableContent()
- private val _packageContent: MutableMap<String, MutableContent> = hashMapOf()
- public val packageContent: Map<String, Content>
- get() = _packageContent
-
- fun parse(fileName: String, linkResolveContext: LazyPackageDescriptor?) {
- val file = File(fileName)
- if (file.exists()) {
- val text = file.readText()
- val tree = parseMarkdown(text)
- var targetContent: MutableContent = moduleContent
- tree.children.forEach {
- if (it.type == MarkdownElementTypes.ATX_1) {
- val headingText = it.child(MarkdownTokenTypes.ATX_CONTENT)?.text
- if (headingText != null) {
- targetContent = findTargetContent(headingText.trimStart())
- }
- } else {
- buildContentTo(it, targetContent, { resolveContentLink(it, linkResolveContext) })
- }
- }
- } else {
- logger.warn("Include file $file was not found.")
- }
- }
-
- private fun findTargetContent(heading: String): MutableContent {
- if (heading.startsWith("Module") || heading.startsWith("module")) {
- return moduleContent
- }
- if (heading.startsWith("Package") || heading.startsWith("package")) {
- return findOrCreatePackageContent(heading.substring("package".length).trim())
- }
- return findOrCreatePackageContent(heading)
- }
-
- private fun findOrCreatePackageContent(packageName: String) =
- _packageContent.getOrPut(packageName) { -> MutableContent() }
-
- private fun resolveContentLink(href: String, linkResolveContext: LazyPackageDescriptor?): ContentBlock {
- if (linkResolveContext != null && linkResolver != null) {
- return linkResolver.resolveContentLink(linkResolveContext, href)
- }
- return ContentExternalLink("#")
- }
-} \ No newline at end of file