blob: c36f98eb079cac4e7557463ea06cf49862d3c8de [file] [log] [blame]
package org.jetbrains.dokka
import com.google.inject.Inject
import java.io.File
class YamlOutlineService @Inject constructor(
val generator: NodeLocationAwareGenerator,
val languageService: LanguageService
) : OutlineFormatService {
override fun getOutlineFileName(location: Location): File = File("${location.path}.yml")
var outlineLevel = 0
override fun appendOutlineHeader(location: Location, node: DocumentationNode, to: StringBuilder) {
val indent = " ".repeat(outlineLevel)
to.appendln("$indent- title: ${languageService.renderName(node)}")
to.appendln("$indent url: ${generator.location(node).path}")
}
override fun appendOutlineLevel(to: StringBuilder, body: () -> Unit) {
val indent = " ".repeat(outlineLevel)
to.appendln("$indent content:")
outlineLevel++
body()
outlineLevel--
}
}