Ability to generate headings in markdown
[sixth.git] / src / main / java / eu / svjatoslav / sixth / core / document / Document.java
index 362265c..2385284 100644 (file)
@@ -1,13 +1,18 @@
 package eu.svjatoslav.sixth.core.document;
 
 package eu.svjatoslav.sixth.core.document;
 
+import eu.svjatoslav.sixth.core.document.text.FormattedText;
+
+import static eu.svjatoslav.sixth.core.document.text.FormattedText.fromOrg;
+
 public class Document {
 public class Document {
-    public final Heading rootHeading = new Heading("<root>", 0, null);
+    public final Heading rootHeading = new Heading( fromOrg("<root>") , 0, null);
 
     private Heading currentHeading = rootHeading;
 
 
     private Heading currentHeading = rootHeading;
 
-    public Heading createHeading(String name, int targetLevel){
+    public Heading createHeading(FormattedText name, int targetLevel){
         if (currentHeading.level == (targetLevel - 1)){
             Heading newHeading = new Heading(name, targetLevel, currentHeading);
         if (currentHeading.level == (targetLevel - 1)){
             Heading newHeading = new Heading(name, targetLevel, currentHeading);
+            currentHeading.addChild(newHeading);
             currentHeading = newHeading;
             return newHeading;
         }
             currentHeading = newHeading;
             return newHeading;
         }
@@ -17,7 +22,8 @@ public class Document {
             return createHeading(name, targetLevel);
         }
 
             return createHeading(name, targetLevel);
         }
 
-        Heading missingIntermediate = new Heading("<noname>", currentHeading.level + 1, currentHeading);
+        Heading missingIntermediate = new Heading(fromOrg("<noname>"), currentHeading.level + 1, currentHeading);
+        currentHeading.addChild(missingIntermediate);
         currentHeading = missingIntermediate;
         return createHeading(name, targetLevel);
     }
         currentHeading = missingIntermediate;
         return createHeading(name, targetLevel);
     }