import re
def parse_markdown(markdown):
lines = markdown.split('\n')
res = ''
in_list = False
for i in lines:
if re.match('###### (.*)', i) is not None:
i = '
' + i[7:] + '
'
elif re.match('## (.*)', i) is not None:
i = '' + i[3:] + '
'
elif re.match('# (.*)', i) is not None:
i = '' + i[2:] + '
'
m = re.match(r'\* (.*)', i)
if m:
if not in_list:
in_list = True
is_bold = False
is_italic = False
curr = m.group(1)
m1 = re.match('(.*)__(.*)__(.*)', curr)
if m1:
curr = m1.group(1) + '' + \
m1.group(2) + '' + m1.group(3)
is_bold = True
m1 = re.match('(.*)_(.*)_(.*)', curr)
if m1:
curr = m1.group(1) + '' + m1.group(2) + \
'' + m1.group(3)
is_italic = True
if is_italic or is_bold:
i = '- ' + curr + '
'
else:
i = '' + curr + '
'
else:
is_bold = False
is_italic = False
curr = m.group(1)
m1 = re.match('(.*)__(.*)__(.*)', curr)
if m1:
curr = m1.group(1) + '' + \
m1.group(2) + '' + m1.group(3)
is_bold = True
m1 = re.match('(.*)_(.*)_(.*)', curr)
if m1:
curr = m1.group(1) + '' + m1.group(2) + \
'' + m1.group(3)
is_italic = True
if is_italic or is_bold:
i = '- ' + curr + '
'
else:
i = '' + curr + '
'
else:
if in_list:
i = '
+i'
in_list = False
m = re.match(''
m = re.match('(.*)__(.*)__(.*)', i)
if m:
i = m.group(1) + '' + m.group(2) + '' + m.group(3)
m = re.match('(.*)_(.*)_(.*)', i)
if m:
i = m.group(1) + '' + m.group(2) + '' + m.group(3)
res += i
if in_list:
res += '
'
return res