python-creole icon indicating copy to clipboard operation
python-creole copied to clipboard

easier solution for <<doc>>

Open jedie opened this issue 11 years ago • 0 comments

Maybe change the <<doc>> code with:

def headlines2html(headlines):
    cur_level = 0
    result = []
    for level, content in headlines:
        while level>cur_level:
            result.append('\t'*cur_level+'<ul>')
            cur_level += 1
        while level<cur_level:
            cur_level -= 1
            result.append('\t'*cur_level+'</ul>')
        result.append('{0}<li><a href="#{1}">{1}</a></li>'.format('\t'*cur_level, content))
    while cur_level:
        cur_level -= 1
        result.append('\t'*cur_level+'</ul>')
    return "\n".join(result)


headlines = [
    (1, u'headline 1 level 1'),
    (2, u'headline 2 level 2'),
    (2, u'headline 3 level 2'),
    (4, u'headline 4 level 4'),
    (1, u'headline 5 level 1'),
    (3, u'headline 6 level 3')
]

print(headlines2html(headlines))

based on code from http://www.python-forum.de/viewtopic.php?p=258144#p258144

jedie avatar May 15 '14 17:05 jedie