diff options
author | jantwisted <janith@member.fsf.org> | 2015-11-29 00:34:32 +0530 |
---|---|---|
committer | jantwisted <janith@member.fsf.org> | 2015-11-29 00:34:32 +0530 |
commit | 85e437b962b4a22db1e4a87232624fc296622d3a (patch) | |
tree | 48c6a197288d57a8c5cc01da51ae7a4ce95aacd3 /lpschedule/htmlrender.py | |
parent | 10a44e832ed22e0f09b945f9b5499b909807c602 (diff) |
custom html render for mistune
Diffstat (limited to 'lpschedule/htmlrender.py')
-rw-r--r-- | lpschedule/htmlrender.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lpschedule/htmlrender.py b/lpschedule/htmlrender.py new file mode 100644 index 0000000..5375524 --- /dev/null +++ b/lpschedule/htmlrender.py @@ -0,0 +1,34 @@ +import mistune +import re + + +class HtmlRender(mistune.Renderer): + """ + Subclassing Renderer classes to customize HTML content. + + """ + def header(self, text, level, raw=None): + if level == 2: + return '<header class="program-day-header">\n\t<hgroup>\n\t\t<h%d>%s\n\t\t</h%d>\n\t</hgroup>\n</header>\n' % (level, text+ \ + '\n\t\t<a class="btn btn-default btn-xs" \n\t\trole="button" '+ \ + 'data-toggle="collapse" \n\t\taria-expanded="false" '+ \ + 'aria-controls="sat-timeslots" '+ \ + '\n\t\thref="#sat-timeslots">↓</a>', level) + elif level == 3: + return '\n<article id="sat-ts-b0" class="program-timeslot-break">'+ \ + '\n\t<header class="program-timeslot-break-header">'+ \ + '\n\t\t<hgroup>\n\t\t\t<h%d>%s</h%d>\n\t\t</hgroup>\n\t</header>\n</article>\n' % (level, text, level) + + return '<h%d>%s</h%d>\n' % (level, text, level) + + + def paragraph(self, text): + _get_room_ptr = re.compile(r'(Room\s[\d]*\-[\d]*)') + if _get_room_ptr.search(text.strip(' ')) is not None: + str = _get_room_ptr.findall(text.strip(' ')) + return '<p><span class="label label-default">%s</span></p>\n<a href="#" class="program-session-speaker">%s</a>' \ + % (''.join(str), _get_room_ptr.sub('',text.strip(' '))) + \ + '\n<button class="btn btn-default btn-xs" data-toggle="collapse" \n\taria-expanded="false" aria-controls="sat-ts0-s0-collapse"'+ \ + 'data-target="#sat-ts0-s0-collapse">\n\t\tDetails\n</button>\n' + else: + return '<p>%s</p>\n' % text.strip(' ')
\ No newline at end of file |