From 22c3592fb5fa5d79bd4cb6285a7fd8c61a493e9f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 19:02:08 +0000 Subject: Add force write to bookmarks --- src/main/java/org/zwobble/mammoth/DocumentConverter.java | 2 +- src/main/java/org/zwobble/mammoth/html/Html.java | 2 ++ src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java | 13 +++++++++++++ src/main/java/org/zwobble/mammoth/html/HtmlNode.java | 1 + src/main/java/org/zwobble/mammoth/html/HtmlWriter.java | 4 ++++ 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java (limited to 'src/main/java') diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index a8d90f9..090b27b 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -159,7 +159,7 @@ public class DocumentConverter { @Override public List visit(Bookmark bookmark) { - return list(Html.element("a", map("id", generateId(bookmark.getName())))); + return list(Html.element("a", map("id", generateId(bookmark.getName())), list(Html.FORCE_WRITE))); } @Override diff --git a/src/main/java/org/zwobble/mammoth/html/Html.java b/src/main/java/org/zwobble/mammoth/html/Html.java index c22911d..ca9597a 100644 --- a/src/main/java/org/zwobble/mammoth/html/Html.java +++ b/src/main/java/org/zwobble/mammoth/html/Html.java @@ -7,6 +7,8 @@ import static org.zwobble.mammoth.util.MammothLists.list; import static org.zwobble.mammoth.util.MammothMaps.map; public class Html { + public static final HtmlNode FORCE_WRITE = HtmlForceWrite.FORCE_WRITE; + public static String write(List nodes) { StringBuilder builder = new StringBuilder(); nodes.forEach(node -> HtmlWriter.write(node, builder)); diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java b/src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java new file mode 100644 index 0000000..484be34 --- /dev/null +++ b/src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java @@ -0,0 +1,13 @@ +package org.zwobble.mammoth.html; + +public class HtmlForceWrite implements HtmlNode { + public static final HtmlForceWrite FORCE_WRITE = new HtmlForceWrite(); + + private HtmlForceWrite() { + } + + @Override + public void visit(Visitor visitor) { + visitor.visit(this); + } +} diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlNode.java b/src/main/java/org/zwobble/mammoth/html/HtmlNode.java index a5fc622..823e362 100644 --- a/src/main/java/org/zwobble/mammoth/html/HtmlNode.java +++ b/src/main/java/org/zwobble/mammoth/html/HtmlNode.java @@ -7,5 +7,6 @@ public interface HtmlNode { void visit(HtmlElement element); void visit(HtmlSelfClosingElement element); void visit(HtmlTextNode node); + void visit(HtmlForceWrite forceWrite); } } diff --git a/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java b/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java index 35e763a..4174918 100644 --- a/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java +++ b/src/main/java/org/zwobble/mammoth/html/HtmlWriter.java @@ -34,6 +34,10 @@ public class HtmlWriter { public void visit(HtmlTextNode node) { builder.append(HtmlWriter.escapeText(node.getValue())); } + + @Override + public void visit(HtmlForceWrite forceWrite) { + } }); } -- cgit v1.2.3