diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-02-14 11:50:40 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-02-14 11:50:40 +0000 |
| commit | f59712756ccb8d6b140d90ea0220278d60cf6dc7 (patch) | |
| tree | f4487c759b3c82430b75769d5accc4316a6336e5 /src/main/java/org | |
| parent | f57601b2426656a014d099ec66828e9f40732492 (diff) | |
Generate anchors with IDs for Bookmark
Diffstat (limited to 'src/main/java/org')
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/DocumentConverter.java | 8 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/documents/Bookmark.java | 4 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/html/Html.java | 4 |
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); } |
