From bca485bab3f6b59cdee68d3c3c3bb006c0006e97 Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Tue, 14 Jan 2014 14:02:58 +0100 Subject: [PATCH 1/1] Insert anchors before, not inside elements. --- librarian/html.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/librarian/html.py b/librarian/html.py index 70fc6e5..8703150 100644 --- a/librarian/html.py +++ b/librarian/html.py @@ -177,25 +177,22 @@ def extract_fragments(input_filename): def add_anchor(element, prefix, with_link=True, with_target=True, link_text=None): + parent = element.getparent() + index = parent.index(element) + if with_link: if link_text is None: link_text = prefix anchor = etree.Element('a', href='#%s' % prefix) anchor.set('class', 'anchor') anchor.text = unicode(link_text) - if element.text: - anchor.tail = element.text - element.text = u'' - element.insert(0, anchor) + parent.insert(index, anchor) if with_target: anchor_target = etree.Element('a', name='%s' % prefix) anchor_target.set('class', 'target') anchor_target.text = u' ' - if element.text: - anchor_target.tail = element.text - element.text = u'' - element.insert(0, anchor_target) + parent.insert(index, anchor_target) def any_ancestor(element, test): -- 2.20.1