+
+ 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");
+ }
+
+