aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-25 19:42:37 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-25 19:42:37 +0000
commit84f30b611589ef7141ab7e928604c2d2fe6d6d1c (patch)
treead78511fa7421ff86dcad5dd7d08c31faa3d4fe4 /src/main/java
parentafdc66f9b8f7b9b146369dde96f8c8fe2a394d12 (diff)
Allow bold runs to be configured using style mapping
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java8
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java2
3 files changed, 10 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
index 16210cd..5270ea3 100644
--- a/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
+++ b/src/main/java/org/zwobble/mammoth/internal/DocumentToHtml.java
@@ -128,7 +128,7 @@ public class DocumentToHtml {
nodes = list(Html.collapsibleElement("em", nodes));
}
if (run.isBold()) {
- nodes = list(Html.collapsibleElement("strong", nodes));
+ nodes = styleMap.getBold().orElse(HtmlPath.collapsibleElement("strong")).wrap(nodes);
}
HtmlPath mapping = styleMap.getRunHtmlPath(run)
.orElseGet(() -> {
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
index b181074..2a790f0 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMap.java
@@ -16,17 +16,20 @@ public class StyleMap {
public static final StyleMap EMPTY = new StyleMapBuilder().build();
+ private final Optional<HtmlPath> bold;
private final Optional<HtmlPath> underline;
private final Optional<HtmlPath> strikethrough;
private final List<StyleMapping<Paragraph>> paragraphStyles;
private final List<StyleMapping<Run>> runStyles;
public StyleMap(
+ Optional<HtmlPath> bold,
Optional<HtmlPath> underline,
Optional<HtmlPath> strikethrough,
List<StyleMapping<Paragraph>> paragraphStyles,
List<StyleMapping<Run>> runStyles)
{
+ this.bold = bold;
this.underline = underline;
this.strikethrough = strikethrough;
this.paragraphStyles = paragraphStyles;
@@ -36,12 +39,17 @@ public class StyleMap {
public StyleMap update(StyleMap styleMap) {
// TODO: add appropriate tests
return new StyleMap(
+ MammothOptionals.first(styleMap.bold, bold),
MammothOptionals.first(styleMap.underline, underline),
MammothOptionals.first(styleMap.strikethrough, strikethrough),
MammothLists.concat(styleMap.paragraphStyles, paragraphStyles),
MammothLists.concat(styleMap.runStyles, runStyles));
}
+ public Optional<HtmlPath> getBold() {
+ return bold;
+ }
+
public Optional<HtmlPath> getUnderline() {
return underline;
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
index bc6efac..ab024a9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
+++ b/src/main/java/org/zwobble/mammoth/internal/styles/StyleMapBuilder.java
@@ -52,6 +52,6 @@ public class StyleMapBuilder {
}
public StyleMap build() {
- return new StyleMap(underline, strikethrough, paragraphStyles.build(), runStyles.build());
+ return new StyleMap(bold, underline, strikethrough, paragraphStyles.build(), runStyles.build());
}
}