From af04f30d2057d69148a3ee6c752e0786203cc6d6 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 14 Feb 2016 18:48:16 +0000 Subject: Generate back links for notes --- src/main/java/org/zwobble/mammoth/DocumentConverter.java | 9 ++++++++- .../java/org/zwobble/mammoth/tests/DocumentConverterTests.java | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src') 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 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 convertToHtml(List 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 -- cgit v1.2.3