2017-01-13 13:17:54 +01:00
|
|
|
from re import compile
|
2017-01-12 16:48:09 +01:00
|
|
|
|
2017-01-15 15:08:47 +01:00
|
|
|
from src.markdown_converter import MarkdownConverter
|
|
|
|
|
2017-01-30 16:09:23 +01:00
|
|
|
|
|
|
|
@MarkdownConverter.register
|
|
|
|
class MarkdownHeader:
|
2017-01-13 13:17:54 +01:00
|
|
|
pattern = compile('(=+)(.*?)(=+)')
|
2017-01-12 18:02:09 +01:00
|
|
|
head = "="
|
|
|
|
config = {
|
|
|
|
'======': 1,
|
|
|
|
'=====': 2,
|
|
|
|
'====': 3,
|
|
|
|
'===': 4,
|
2017-01-19 21:58:16 +01:00
|
|
|
'==': 5,
|
|
|
|
'=': 6
|
2017-01-12 18:02:09 +01:00
|
|
|
}
|
2017-01-12 16:48:09 +01:00
|
|
|
|
|
|
|
def convert(self, text):
|
2017-01-13 13:17:54 +01:00
|
|
|
result = text
|
|
|
|
for regex_head in MarkdownHeader.pattern.findall(text):
|
2017-01-14 11:09:42 +01:00
|
|
|
orig_header = ''.join(regex_head)
|
2017-01-21 11:37:17 +01:00
|
|
|
src_header = regex_head[0]
|
|
|
|
if src_header in MarkdownHeader.config:
|
|
|
|
new_header = ('#' * MarkdownHeader.config[src_header]) + regex_head[1]
|
|
|
|
result = result.replace(orig_header, new_header)
|
2017-01-13 13:17:54 +01:00
|
|
|
return result
|