Fix insert Inline ToC creating non-linear jumps in class names

This commit is contained in:
Kovid Goyal 2014-03-29 08:25:16 +05:30
parent e5628d76af
commit 44822799be

View File

@ -494,7 +494,7 @@ def create_inline_toc(container, title=None):
return None return None
toc_name = find_inline_toc(container) toc_name = find_inline_toc(container)
def process_node(html_parent, toc, level=1, indent=' '): def process_node(html_parent, toc, level=1, indent=' ', style_level=2):
li = html_parent.makeelement(XHTML('li')) li = html_parent.makeelement(XHTML('li'))
li.tail = '\n'+ (indent*level) li.tail = '\n'+ (indent*level)
html_parent.append(li) html_parent.append(li)
@ -509,13 +509,13 @@ def create_inline_toc(container, title=None):
li.append(a) li.append(a)
if len(toc) > 0: if len(toc) > 0:
parent = li.makeelement(XHTML('ul')) parent = li.makeelement(XHTML('ul'))
parent.set('class', 'level%d' % (level + 1)) parent.set('class', 'level%d' % (style_level))
li.append(parent) li.append(parent)
a.tail = '\n\n' + (indent*(level+2)) a.tail = '\n\n' + (indent*(level+2))
parent.text = '\n'+(indent*(level+3)) parent.text = '\n'+(indent*(level+3))
parent.tail = '\n\n' + (indent*(level+1)) parent.tail = '\n\n' + (indent*(level+1))
for child in toc: for child in toc:
process_node(parent, child, level+3) process_node(parent, child, level+3, style_level=style_level + 1)
parent[-1].tail = '\n' + (indent*(level+2)) parent[-1].tail = '\n' + (indent*(level+2))
E = ElementMaker(namespace=XHTML_NS, nsmap={None:XHTML_NS}) E = ElementMaker(namespace=XHTML_NS, nsmap={None:XHTML_NS})