aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt
diff options
context:
space:
mode:
authorpacien2018-07-26 11:34:06 +0200
committerpacien2018-07-26 11:34:06 +0200
commit69bc6c2ae35883286d9c2b8cc77d5fa0a8c37351 (patch)
tree26d8635694b9d7f61b77772b29a9c980b632cc2c /src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt
parent4d80dd03b75421f2fb40cb89f9634be47b09a779 (diff)
downloadpandoc-filter-plantuml-69bc6c2ae35883286d9c2b8cc77d5fa0a8c37351.tar.gz
Kotlin rewrite, adding diagram options
Diffstat (limited to 'src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt')
-rw-r--r--src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt b/src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt
new file mode 100644
index 0000000..2a8da1b
--- /dev/null
+++ b/src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt
@@ -0,0 +1,21 @@
1package org.pacien.pandoc.filter.plantuml
2
3import net.sourceforge.plantuml.FileFormat
4import net.sourceforge.plantuml.FileFormatOption
5import net.sourceforge.plantuml.SourceStringReader
6import java.io.ByteArrayOutputStream
7
8object PlantUml {
9 private val OUTPUT_FORMAT = FileFormatOption(FileFormat.LATEX_NO_PREAMBLE)
10
11 private fun SourceStringReader.generateImage(outputFormat: FileFormatOption) =
12 ByteArrayOutputStream().use { buffer ->
13 generateImage(buffer, outputFormat)
14 buffer.toString().lineSequence()
15 }
16
17 fun renderTikz(plantuml: String) =
18 SourceStringReader(plantuml)
19 .generateImage(OUTPUT_FORMAT)
20 .toLatex()
21}