aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/org/pacien/pandoc/filter/plantuml/PlantUml.kt
diff options
context:
space:
mode:
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}