diff 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.kt | 21 |
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 @@ | |||
1 | package org.pacien.pandoc.filter.plantuml | ||
2 | |||
3 | import net.sourceforge.plantuml.FileFormat | ||
4 | import net.sourceforge.plantuml.FileFormatOption | ||
5 | import net.sourceforge.plantuml.SourceStringReader | ||
6 | import java.io.ByteArrayOutputStream | ||
7 | |||
8 | object 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 | } | ||