def visit_literal_block(self, node):
        if node['ids']:
            self.highlighter.set_node_id(node['ids'][0])
        else:
            self.highlighter.set_node_id(None)

        HTMLTranslator.visit_literal_block(self, node)
Esempio n. 2
0
    def visit_literal_block(self, node):  # pragma: no cover
        # type: (nodes.Node) -> None
        if node.rawsource != node.astext():
            # most probably a parsed-literal block -- don't highlight
            return HTMLTranslator.visit_literal_block(self, node)
        lang = self.highlightlang
        linenos = node.rawsource.count('\n') >= \
            self.highlightlinenothreshold - 1
        highlight_args = node.get('highlight_args', {})
        if 'language' in node:
            # code-block directives
            lang = node['language']
            highlight_args['force'] = True
        if 'linenos' in node:
            linenos = node['linenos']
        if lang is self.highlightlang_base:
            # only pass highlighter options for original language
            opts = self.highlightopts
        else:
            opts = {}

        highlighted = self.highlighter.highlight_block(
            node.rawsource,
            lang,
            opts=opts,
            linenos=linenos,
            location=(self.builder.current_docname, node.line),
            **highlight_args)
        node['classes'] += [('highlight-%s' % lang), 'literal-block']
        joined_clss = " ".join(node['classes'])
        starttag = self.starttag(node, 'div', suffix='', CLASS=joined_clss)
        self.body.append(starttag + highlighted + '</div>\n')
        raise nodes.SkipNode
    def visit_literal_block(self, node):
        if node.rawsource != node.astext():
            # most probably a parsed-literal block -- don't highlight
            return BaseTranslator.visit_literal_block(self, node)
        lang = self.builder.config.highlight_language
        if 'language' in node:
            lang = node['language']
        highlighted = node[0]

        html = '<pre><code class="language-%s">%s</code></pre>' % (lang,
                                                                   highlighted)

        self.body.append(html)

        raise nodes.SkipNode
Esempio n. 4
0
 def visit_literal_block(self, node):
     self.no_smarty += 1
     HTMLTranslator.visit_literal_block(self, node)
Esempio n. 5
0
 def visit_literal_block(self, node):
     self.no_smarty += 1
     HTMLTranslator.visit_literal_block(self, node)
Esempio n. 6
0
 def visit_literal_block(self, node):
     self.body.append('<div class="literal-block">\n')
     try:
         HTMLTranslator.visit_literal_block(self, node)
     finally:
         self.body.append('</div>\n')