from librarian.output import OutputFile
from librarian.renderers import Register, TreeRenderer
from librarian.utils import Context, get_resource
-from librarian import core
+from librarian import core, get_provider
class HtmlFormat(Format):
HtmlFormat.renderers.register(core.Div, 'img', DivImage('img'))
+
+class DivVideo(NaturalText):
+ def render(self, element, ctx):
+ output = super(DivVideo, self).render(element, ctx)
+ provider = get_provider(element.attrib.get('provider'))
+ video_id = element.attrib.get('videoid', '')
+ attribs = {
+ 'width': '854',
+ 'height': '480',
+ 'src': provider['embed'] % video_id,
+ 'frameborder': '0',
+ 'allowfullscreen': '',
+ }
+ for attrib, value in attribs.iteritems():
+ output[0].attrib[attrib] = value
+ return output
+
+HtmlFormat.renderers.register(core.Div, 'video', DivVideo('iframe'))
+
HtmlFormat.renderers.register(core.Div, 'item', NaturalText('li'))
+HtmlFormat.renderers.register(core.Span, 'item', NaturalText('li'))
HtmlFormat.renderers.register(core.Div, 'list', NaturalText('ul'))
HtmlFormat.renderers.register(core.Div, 'list.enum', NaturalText('ol'))