Les appels au formatter doivent etre faits dans l'ordre.
darcs-hash:20060430083626-68412-559822bc312cab9018661b42d23a8bf835c65697.gz
This commit is contained in:
parent
3c3f1b1028
commit
35cedcfdb5
1 changed files with 22 additions and 18 deletions
|
@ -70,6 +70,18 @@ class TableOfContents:
|
||||||
return self.pre_re.sub('',apply(self.include_macro, args, kwargs)).split('\n')
|
return self.pre_re.sub('',apply(self.include_macro, args, kwargs)).split('\n')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
f = self.macro.formatter
|
||||||
|
r = self.result
|
||||||
|
try:
|
||||||
|
# Wikipedia-style table of contents
|
||||||
|
r.append(f.open('div', True, {'id': 'tableOfContents'}))
|
||||||
|
r.append(f.open('h2', False, {'id': 'toctitle'}))
|
||||||
|
r.append(f.text(u'Sommaire'))
|
||||||
|
r.append(f.close('h2', True))
|
||||||
|
r.append(f.open('div', True, {'id': 'tableOfContentsList'}))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
self.process_lines(self.pre_re.sub('',self.macro.parser.raw).split('\n'),
|
self.process_lines(self.pre_re.sub('',self.macro.parser.raw).split('\n'),
|
||||||
self.macro.formatter.page.page_name)
|
self.macro.formatter.page.page_name)
|
||||||
# Close pending lists
|
# Close pending lists
|
||||||
|
@ -78,26 +90,18 @@ class TableOfContents:
|
||||||
self.result.append(self.macro.formatter.number_list(0))
|
self.result.append(self.macro.formatter.number_list(0))
|
||||||
|
|
||||||
try:
|
try:
|
||||||
html = [
|
r.append(f.close('div', True))
|
||||||
self.macro.formatter.open('div', True, {'id': 'tableOfContents'}),
|
r.append(f.close('div', True))
|
||||||
self.macro.formatter.open('h2', False, {'id': 'toctitle'}),
|
r.append(f.open('div', False, {'class': 'visualClear'}))
|
||||||
self.macro.formatter.text(u'Sommaire'),
|
r.append(f.close('div', True))
|
||||||
self.macro.formatter.close('h2', True),
|
r.append(f.open('script', False,
|
||||||
self.macro.formatter.open('div', True, {'id': 'tableOfContentsList'}),
|
{'type': 'text/javascript',
|
||||||
''.join(self.result),
|
'src': '/wiki/common/toc/toc.js'}))
|
||||||
self.macro.formatter.close('div', True),
|
r.append(f.close('script', True))
|
||||||
self.macro.formatter.close('div', True),
|
|
||||||
self.macro.formatter.open('div', False, {'class': 'visualClear'}),
|
|
||||||
self.macro.formatter.close('div', True),
|
|
||||||
self.macro.formatter.open('script', False,
|
|
||||||
{'type': 'text/javascript',
|
|
||||||
'src': '/wiki/common/toc/toc.js'}),
|
|
||||||
self.macro.formatter.close('script', True),
|
|
||||||
]
|
|
||||||
return u''.join(html)
|
|
||||||
except:
|
except:
|
||||||
return ''.join(self.result)
|
pass
|
||||||
|
|
||||||
|
return u''.join(r)
|
||||||
|
|
||||||
def process_lines(self, lines, pagename):
|
def process_lines(self, lines, pagename):
|
||||||
for line in lines:
|
for line in lines:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue