def formatted(self): val = self.content if val is not None: extensions = [ tables.TableExtension(), markdown_extensions.TocExtension(pod=self._doc.pod), markdown_extensions.CodeBlockExtension(self._doc.pod), markdown_extensions.IncludeExtension(self._doc.pod), markdown_extensions.UrlExtension(self._doc.pod), 'markdown.extensions.fenced_code', 'markdown.extensions.codehilite', ] config = self.get_markdown_config('markdown.extensions.codehilite') codehilite_config = { 'pygments_style': 'default', 'noclasses': True, 'css_class': 'code', } if 'theme' in config: codehilite_config['pygments_style'] = config.theme if 'classes' in config: codehilite_config['noclasses'] = not config.classes if 'class_name' in config: codehilite_config['css_class'] = config.class_name extension_configs = { 'markdown.extensions.codehilite': codehilite_config, } val = markdown.markdown( val.decode('utf-8'), extensions=extensions, extension_configs=extension_configs) return val
def html(self): val = self.body if val is not None: extensions = [ tables.TableExtension(), markdown_extensions.TocExtension(pod=self.doc.pod), markdown_extensions.CodeBlockExtension(self.doc.pod), markdown_extensions.IncludeExtension(self.doc.pod), markdown_extensions.UrlExtension(self.doc.pod), ] val = markdown.markdown(val.decode('utf-8'), extensions=extensions) return val
def extensions(self): """List of enabled extensions for the pod.""" # Do not cache property so that the extensions are created fresh. extensions = [ tables.TableExtension(), markdown_extensions.TocExtension(pod=self.pod), markdown_extensions.CodeBlockExtension(self.pod), markdown_extensions.IncludeExtension(self.pod), markdown_extensions.UrlExtension(self.pod), 'markdown.extensions.fenced_code', 'markdown.extensions.codehilite', ] for config in self.markdown_config: if config['kind'] in extensions: continue if config['kind'].startswith('markdown.extensions'): extensions.append(config['kind']) return extensions