diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-16 22:42:53 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-16 22:42:53 +0000 |
| commit | 1dca829f94b394a4a63e71b125f25cc609d06235 (patch) | |
| tree | 9a841f3bc6dfe5f183c4ab830fd2ad55d3b72df0 /src/main/java/org/zwobble/mammoth/DocumentConverter.java | |
| parent | a549566d565f0fe0c62ba70ec58ef6c42858857c (diff) | |
Allow preservation of empty paragraphs
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/DocumentConverter.java')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/DocumentConverter.java | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index a6029e0..cbcade5 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -15,13 +15,12 @@ import java.util.Base64; import java.util.List; import java.util.Map; -import static org.zwobble.mammoth.util.MammothLists.eagerFlatMap; -import static org.zwobble.mammoth.util.MammothLists.list; +import static org.zwobble.mammoth.util.MammothLists.*; import static org.zwobble.mammoth.util.MammothMaps.map; public class DocumentConverter { - public static List<HtmlNode> convertToHtml(String idPrefix, Document document) { - DocumentConverter documentConverter = new DocumentConverter(idPrefix); + public static List<HtmlNode> convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, Document document) { + DocumentConverter documentConverter = new DocumentConverter(idPrefix, preserveEmptyParagraphs); List<HtmlNode> mainBody = documentConverter.convertChildrenToHtml(document); // TODO: can you have note references inside a note? List<Note> notes = findNotes(document, documentConverter.noteReferences); @@ -42,15 +41,17 @@ public class DocumentConverter { reference -> document.getNotes().findNote(reference.getNoteType(), reference.getNoteId()).get())); } - public static List<HtmlNode> convertToHtml(String idPrefix, DocumentElement element) { - return new DocumentConverter(idPrefix).convertToHtml(element); + public static List<HtmlNode> convertToHtml(String idPrefix, boolean preserveEmptyParagraphs, DocumentElement element) { + return new DocumentConverter(idPrefix, preserveEmptyParagraphs).convertToHtml(element); } private final String idPrefix; + private final boolean preserveEmptyParagraphs; private final List<NoteReference> noteReferences = new ArrayList<>(); - private DocumentConverter(String idPrefix) { + private DocumentConverter(String idPrefix, boolean preserveEmptyParagraphs) { this.idPrefix = idPrefix; + this.preserveEmptyParagraphs = preserveEmptyParagraphs; } private HtmlNode convertToHtml(Note note) { @@ -81,7 +82,8 @@ public class DocumentConverter { @Override public List<HtmlNode> visit(Paragraph paragraph) { List<HtmlNode> content = convertChildrenToHtml(paragraph); - return list(Html.element("p", content)); + List<HtmlNode> children = preserveEmptyParagraphs ? cons(Html.FORCE_WRITE, content) : content; + return list(Html.element("p", children)); } @Override |
