X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/181c5739f47d2adb00ba115bb4766584a1bc37e4..ca1a73838b1045835171dfa243f9c2c0dfa735fe:/librarian/html.py?ds=sidebyside diff --git a/librarian/html.py b/librarian/html.py index f29a9b9..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): @@ -288,6 +285,7 @@ def add_table_of_themes(root): for i, fragment in enumerate(fragments): item = etree.SubElement(themes_li, 'a', href="#%s" % fragment) item.text = str(i + 1) + item.tail = ' ' root.insert(0, themes_div)