From 0a1f8bb7267e375b62b2e09b0f75719df9ba1d45 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 30 May 2017 11:46:57 +0100 Subject: Convert hyperlink target frame to anchor target --- .../org/zwobble/mammoth/internal/conversion/DocumentToHtml.java | 7 ++++++- src/main/java/org/zwobble/mammoth/internal/util/Maps.java | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/main/java/org') diff --git a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java index 9de8224..9e6d223 100644 --- a/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java +++ b/src/main/java/org/zwobble/mammoth/internal/conversion/DocumentToHtml.java @@ -18,6 +18,7 @@ import java.util.function.Supplier; import static org.zwobble.mammoth.internal.util.Casts.tryCast; import static org.zwobble.mammoth.internal.util.Iterables.findIndex; import static org.zwobble.mammoth.internal.util.Lists.*; +import static org.zwobble.mammoth.internal.util.Maps.mutableMap; import static org.zwobble.mammoth.internal.util.Maps.lookup; import static org.zwobble.mammoth.internal.util.Maps.map; @@ -274,7 +275,11 @@ public class DocumentToHtml { @Override public List visit(Hyperlink hyperlink, Context context) { - Map attributes = map("href", generateHref(hyperlink)); + Map attributes = mutableMap("href", generateHref(hyperlink)); + hyperlink.getTargetFrame().ifPresent(targetFrame -> + attributes.put("target", targetFrame) + ); + return list(Html.collapsibleElement("a", attributes, convertChildrenToHtml(hyperlink, context))); } diff --git a/src/main/java/org/zwobble/mammoth/internal/util/Maps.java b/src/main/java/org/zwobble/mammoth/internal/util/Maps.java index 76ce5cf..f96c1f5 100644 --- a/src/main/java/org/zwobble/mammoth/internal/util/Maps.java +++ b/src/main/java/org/zwobble/mammoth/internal/util/Maps.java @@ -27,6 +27,12 @@ public class Maps { return map; } + public static Map mutableMap(K key1, V value1) { + Map map = new HashMap<>(); + map.put(key1, value1); + return map; + } + public static Map.Entry entry(K key, V value) { return new AbstractMap.SimpleImmutableEntry(key, value); } -- cgit v1.2.3