aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/mammoth/DocumentConverter.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/html/Html.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlForceWrite.java13
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlNode.java1
-rw-r--r--src/main/java/org/zwobble/mammoth/html/HtmlWriter.java4
5 files changed, 21 insertions, 1 deletions
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<HtmlNode> 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<HtmlNode> 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) {
+ }
});
}