diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-02-11 20:33:22 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-02-11 20:33:22 +0000 |
| commit | b5b09219daf76bf6dfec7284e7678aa8f8ba1bf8 (patch) | |
| tree | 6c0d3bff72394315d39ebf42a2da61d64d5c80d8 | |
| parent | 123907f68de3b4d802bd305f37b8651551be3f71 (diff) | |
Write anchor tags with ID for bookmarks
| -rw-r--r-- | mammoth/conversion.py | 7 | ||||
| -rw-r--r-- | tests/conversion_tests.py | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/mammoth/conversion.py b/mammoth/conversion.py index c17ef9f..0b73eeb 100644 --- a/mammoth/conversion.py +++ b/mammoth/conversion.py @@ -44,6 +44,7 @@ class DocumentConverter(object): documents.Run: self._convert_run, documents.Text: self._convert_text, documents.Hyperlink: self._convert_hyperlink, + documents.Bookmark: self._convert_bookmark, documents.Tab: self._convert_tab, documents.Table: self._convert_table, documents.TableRow: self._convert_table_row, @@ -112,6 +113,12 @@ class DocumentConverter(object): html_generator.end() + def _convert_bookmark(self, bookmark, html_generator): + html_generator.start("a", {"id": "{0}-{1}".format(self._id_prefix, bookmark.name)}, always_write=True) + html_generator.end() + + + def _convert_tab(self, tab, html_generator): html_generator.text("\t") diff --git a/tests/conversion_tests.py b/tests/conversion_tests.py index ced1d9e..994b1f0 100644 --- a/tests/conversion_tests.py +++ b/tests/conversion_tests.py @@ -218,6 +218,15 @@ def docx_hyperlink_with_internal_anchor_reference_is_converted_to_anchor_tag(): @istest +def bookmarks_are_converted_to_anchors_with_ids(): + result = convert_document_element_to_html( + documents.bookmark(name="start"), + id_prefix="doc-42", + ) + assert_equal('<a id="doc-42-start"></a>', result.value) + + +@istest def docx_tab_is_converted_to_tab_in_html(): result = convert_document_element_to_html(documents.tab()) assert_equal('\t', result.value) |
