X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2FMdGenerator.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2FMdGenerator.java;h=90f1b1a30b772bcd71f9602c07ebda4b8a2708e6;hp=edc08f4dd3cfa62247c3b92d15ba9d9ae9d8db97;hb=f9ba1a34f75fc8bfe9e6507762947566c8e22bce;hpb=4d6637215622edcf65ed246e0a63c9e7191e3fc3;ds=sidebyside diff --git a/src/main/java/eu/svjatoslav/sixth/core/document/MdGenerator.java b/src/main/java/eu/svjatoslav/sixth/core/document/MdGenerator.java index edc08f4..90f1b1a 100644 --- a/src/main/java/eu/svjatoslav/sixth/core/document/MdGenerator.java +++ b/src/main/java/eu/svjatoslav/sixth/core/document/MdGenerator.java @@ -1,4 +1,34 @@ package eu.svjatoslav.sixth.core.document; +import java.io.File; +import java.io.IOException; + +import static eu.svjatoslav.commons.file.IOHelper.saveToFile; + public class MdGenerator { + + private StringBuilder sb; + + public void generate(Document document, File file) throws IOException { + sb = new StringBuilder(); + + enlistHeading(document.rootHeading); + + saveToFile(file, sb.toString()); + } + + private void enlistHeading(Heading heading) { + if (heading.level > 0) enlistHeadingTitle(heading); + + heading.getChildren().forEach(this::enlistHeading); + } + + private void enlistHeadingTitle(Heading heading) { + for (int i = 0; i < heading.level; i++) + sb.append("#"); + + sb.append(" ").append(heading.name.compileMd()).append("\n"); + } + + }