diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Formats/JekyllFormatService.kt | 7 | ||||
-rw-r--r-- | src/Formats/KotlinWebsiteFormatService.kt | 5 | ||||
-rw-r--r-- | src/main.kt | 20 |
3 files changed, 27 insertions, 5 deletions
diff --git a/src/Formats/JekyllFormatService.kt b/src/Formats/JekyllFormatService.kt index 5179b37d..93861113 100644 --- a/src/Formats/JekyllFormatService.kt +++ b/src/Formats/JekyllFormatService.kt @@ -8,10 +8,13 @@ public open class JekyllFormatService(locationService: LocationService, override fun appendNodes(location: Location, to: StringBuilder, nodes: Iterable<DocumentationNode>) { to.appendln("---") - to.appendln("layout: api") - to.appendln("title: ${nodes.first().name}") + appendFrontMatter(nodes, to) to.appendln("---") to.appendln("") super<MarkdownFormatService>.appendNodes(location, to, nodes) } + + protected open fun appendFrontMatter(nodes: Iterable<DocumentationNode>, to: StringBuilder) { + to.appendln("title: ${nodes.first().name}") + } }
\ No newline at end of file diff --git a/src/Formats/KotlinWebsiteFormatService.kt b/src/Formats/KotlinWebsiteFormatService.kt index e694e222..4f7a013a 100644 --- a/src/Formats/KotlinWebsiteFormatService.kt +++ b/src/Formats/KotlinWebsiteFormatService.kt @@ -5,6 +5,11 @@ public class KotlinWebsiteFormatService(locationService: LocationService, : JekyllFormatService(locationService, signatureGenerator) { override val extension: String = "md" + override fun appendFrontMatter(nodes: Iterable<DocumentationNode>, to: StringBuilder) { + super.appendFrontMatter(nodes, to) + to.appendln("layout: api") + } + override public fun formatBreadcrumbs(items: Iterable<FormatLink>): String { items.drop(1) diff --git a/src/main.kt b/src/main.kt index 4e627376..0c853bc7 100644 --- a/src/main.kt +++ b/src/main.kt @@ -22,10 +22,14 @@ class DokkaArguments { ValueDescription("<path>") public var samples: String = "" - Argument(value = "output", description = "Output directory path for .md files") + Argument(value = "output", description = "Output directory path") ValueDescription("<path>") public var outputDir: String = "out/doc/" + Argument(value = "format", description = "Output format (text, html, markdown, jekyll, kotlin-website)") + ValueDescription("<name>") + public var outputFormat: String = "html" + Argument(value = "module", description = "Name of the documentation module") ValueDescription("<name>") public var moduleName: String = "" @@ -118,8 +122,18 @@ public fun main(args: Array<String>) { val locationService = FoldersLocationService(arguments.outputDir) val templateService = HtmlTemplateService.default("/dokka/styles/style.css") -// val formatter = HtmlFormatService(locationService, signatureGenerator, templateService) - val formatter = KotlinWebsiteFormatService(locationService, signatureGenerator) + val formatter = when (arguments.outputFormat) { + "text" -> TextFormatService(signatureGenerator) + "html" -> HtmlFormatService(locationService, signatureGenerator, templateService) + "markdown" -> MarkdownFormatService(locationService, signatureGenerator) + "jekyll" -> JekyllFormatService(locationService, signatureGenerator) + "kotlin-website" -> KotlinWebsiteFormatService(locationService, signatureGenerator) + else -> { + print("Unrecognized output format ${arguments.outputFormat}") + return + } + } + val generator = FileGenerator(signatureGenerator, locationService, formatter) print("Generating pages... ") generator.buildPage(documentation) |