summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-14 11:50:40 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-14 11:50:40 +0000
commitf59712756ccb8d6b140d90ea0220278d60cf6dc7 (patch)
treef4487c759b3c82430b75769d5accc4316a6336e5 /src/main/java
parentf57601b2426656a014d099ec66828e9f40732492 (diff)
Generate anchors with IDs for Bookmark
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/mammoth/DocumentConverter.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/Bookmark.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/html/Html.java4
3 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java
index 49bc904..e735d8b 100644
--- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java
+++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java
@@ -105,7 +105,7 @@ public class DocumentConverter {
if (hyperlink.getHref().isPresent()) {
return hyperlink.getHref().get();
} else if (hyperlink.getAnchor().isPresent()) {
- return "#" + idPrefix + "-" + hyperlink.getAnchor().get();
+ return "#" + generateId(hyperlink.getAnchor().get());
} else {
return "";
}
@@ -113,7 +113,11 @@ public class DocumentConverter {
@Override
public List<HtmlNode> visit(Bookmark bookmark) {
- throw new UnsupportedOperationException();
+ return list(Html.element("a", map("id", generateId(bookmark.getName()))));
+ }
+
+ private String generateId(String bookmarkName) {
+ return idPrefix + "-" + bookmarkName;
}
@Override
diff --git a/src/main/java/org/zwobble/mammoth/documents/Bookmark.java b/src/main/java/org/zwobble/mammoth/documents/Bookmark.java
index 598e83a..81a4ce4 100644
--- a/src/main/java/org/zwobble/mammoth/documents/Bookmark.java
+++ b/src/main/java/org/zwobble/mammoth/documents/Bookmark.java
@@ -7,6 +7,10 @@ public class Bookmark implements DocumentElement {
this.name = name;
}
+ public String getName() {
+ return name;
+ }
+
@Override
public <T> T accept(DocumentElementVisitor<T> visitor) {
return visitor.visit(this);
diff --git a/src/main/java/org/zwobble/mammoth/html/Html.java b/src/main/java/org/zwobble/mammoth/html/Html.java
index ef6bcf9..2291200 100644
--- a/src/main/java/org/zwobble/mammoth/html/Html.java
+++ b/src/main/java/org/zwobble/mammoth/html/Html.java
@@ -21,6 +21,10 @@ public class Html {
return element(tagName, list());
}
+ public static HtmlNode element(String tagName, Map<String, String> attributes) {
+ return element(tagName, attributes, list());
+ }
+
public static HtmlNode element(String tagName, List<HtmlNode> children) {
return element(tagName, map(), children);
}