From f59712756ccb8d6b140d90ea0220278d60cf6dc7 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 11:50:40 +0000 Subject: Generate anchors with IDs for Bookmark --- src/main/java/org/zwobble/mammoth/DocumentConverter.java | 8 ++++++-- src/main/java/org/zwobble/mammoth/documents/Bookmark.java | 4 ++++ src/main/java/org/zwobble/mammoth/html/Html.java | 4 ++++ 3 files changed, 14 insertions(+), 2 deletions(-) (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 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 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 accept(DocumentElementVisitor 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 attributes) { + return element(tagName, attributes, list()); + } + public static HtmlNode element(String tagName, List children) { return element(tagName, map(), children); } -- cgit v1.2.3