From 2dbd849c7c603a25607bcc66025138dee3c30458 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 29 Dec 2014 15:40:21 +0100 Subject: add command line argument for specifying output format --- src/main.kt | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/main.kt b/src/main.kt index 4e627376..bc7cefd7 100644 --- a/src/main.kt +++ b/src/main.kt @@ -22,10 +22,14 @@ class DokkaArguments { ValueDescription("") public var samples: String = "" - Argument(value = "output", description = "Output directory path for .md files") + Argument(value = "output", description = "Output directory path") ValueDescription("") public var outputDir: String = "out/doc/" + Argument(value = "format", description = "Output format (text, html, markdown, jekyll, kotlin-website)") + ValueDescription("") + public var outputFormat: String = "html" + Argument(value = "module", description = "Name of the documentation module") ValueDescription("") public var moduleName: String = "" @@ -118,8 +122,19 @@ public fun main(args: Array) { 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 -> null + } + if (formatter == null) { + print("Unrecognized output format ${arguments.outputFormat}") + return + } + val generator = FileGenerator(signatureGenerator, locationService, formatter) print("Generating pages... ") generator.buildPage(documentation) -- cgit