diff options
| -rw-r--r-- | src/main/java/org/zwobble/mammoth/DocumentConverter.java | 9 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java | 5 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/mammoth/DocumentConverter.java b/src/main/java/org/zwobble/mammoth/DocumentConverter.java index 6f59cba..47e24ee 100644 --- a/src/main/java/org/zwobble/mammoth/DocumentConverter.java +++ b/src/main/java/org/zwobble/mammoth/DocumentConverter.java @@ -66,7 +66,14 @@ public class DocumentConverter { private HtmlNode convertToHtml(Note note) { String id = generateNoteHtmlId(note.getNoteType(), note.getId()); - return Html.element("li", map("id", id), convertToHtml(note.getBody())); + String referenceId = generateNoteRefHtmlId(note.getNoteType(), note.getId()); + ImmutableList.Builder<HtmlNode> children = ImmutableList.builder(); + children.addAll(convertToHtml(note.getBody())); + // TODO: should be collapsible + children.add(Html.element("p", list( + Html.text(" "), + Html.element("a", map("href", "#" + referenceId), list(Html.text("↑")))))); + return Html.element("li", map("id", id), children.build()); } private List<HtmlNode> convertToHtml(List<DocumentElement> elements) { diff --git a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java index f5b30b2..824cc1e 100644 --- a/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java +++ b/src/test/java/org/zwobble/mammoth/tests/DocumentConverterTests.java @@ -159,7 +159,10 @@ public class DocumentConverterTests { Html.element("ol", list( Html.element("li", map("id", "doc-42-footnote-4"), list( Html.element("p", list( - Html.text("Who's there?")))))))))); + Html.text("Who's there?"))), + Html.element("p", list( + Html.text(" "), + Html.element("a", map("href", "#doc-42-footnote-ref-4"), list(Html.text("↑")))))))))))); } @Test |
