PML input: Mark <a> as block level element.

This commit is contained in:
John Schember 2009-11-28 08:32:08 -05:00
parent 94a11a8c56
commit a4847d88d9

View File

@ -101,6 +101,7 @@ class PML_HTMLizer(object):
} }
DIV_STATES = [ DIV_STATES = [
'a',
'c', 'c',
'r', 'r',
't', 't',
@ -211,23 +212,7 @@ class PML_HTMLizer(object):
return text return text
def process_code_link(self, stream, pre=''): def process_code_div_span(self, code, stream, pre=''):
text = u''
if self.state['a'][0]:
text = self.STATES_TAGS['a'][1]
else:
href = self.code_value(stream)
if pre:
href = '#%s-%s' % (pre, href)
text = self.STATES_TAGS['a'][0] % href
self.state['a'][1] = href
self.state['a'][0] = not self.state['a'][0]
return text
def process_code_div_span(self, code, stream):
text = u'' text = u''
ds = [] ds = []
@ -266,6 +251,8 @@ class PML_HTMLizer(object):
# Process the code # Process the code
if code in self.STATES_VALUE_REQ: if code in self.STATES_VALUE_REQ:
val = self.code_value(stream) val = self.code_value(stream)
if pre:
val = '#%s-%s' % (pre, val)
text += self.STATES_TAGS[code][0] % val text += self.STATES_TAGS[code][0] % val
self.state[code][1] = val self.state[code][1] = val
else: else:
@ -347,13 +334,13 @@ class PML_HTMLizer(object):
elif c in 'XS': elif c in 'XS':
l = line.read(1) l = line.read(1)
if '%s%s' % (c, l) == 'Sd': if '%s%s' % (c, l) == 'Sd':
text = self.process_code_link(line, 'fns') text = self.process_code_div_span('Sd', line, 'fns')
elif '%s%s' % (c, l) == 'SB': elif '%s%s' % (c, l) == 'SB':
text = self.process_code_div_span('SB', line) text = self.process_code_div_span('SB', line)
else: else:
text = self.process_code_simple('%s%s' % (c, l)) text = self.process_code_simple('%s%s' % (c, l))
elif c == 'q': elif c == 'q':
text = self.process_code_link(line) text = self.process_code_div_span(c, line)
elif c in 'crtTiIuobBlk': elif c in 'crtTiIuobBlk':
text = self.process_code_div_span(c, line) text = self.process_code_div_span(c, line)
elif c == 'm': elif c == 'm':
@ -377,7 +364,7 @@ class PML_HTMLizer(object):
elif c == 'F': elif c == 'F':
l = line.read(1) l = line.read(1)
if '%s%s' % (c, l) == 'Fn': if '%s%s' % (c, l) == 'Fn':
text = self.process_code_link(line, 'fns') text = self.process_code_div_span('Fn', line, 'fns')
elif '%s%s' % (c, l) == 'FN': elif '%s%s' % (c, l) == 'FN':
text = self.process_code_div_span('FN', line) text = self.process_code_div_span('FN', line)
elif c == 'w': elif c == 'w':