Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
    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