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.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 = {} def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block(node.rawsource, lang, opts=opts, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) 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.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 = {} def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, opts=opts, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) 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.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'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block(node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) if 'filename' in node: starttag += '<div class="code-block-filename"><span>%s</span></div>' % ( node['filename'], ) 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.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'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) if 'filename' in node: starttag += '<div class="code-block-filename"><tt>%s</tt></div>' % ( node['filename'],) 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.highlightlang linenos = node.rawsource.count('\n') >= \ self.highlightlinenothreshold - 1 if node.has_key('language'): # code-block directives lang = node['language'] if node.has_key('linenos'): linenos = node['linenos'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block(node.rawsource, lang, linenos, warn=warner) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) self.body.append(starttag + highlighted + '</div>\n') raise nodes.SkipNode
def visit_literal_block(self, node): # type: (nodes.Node) -> None if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight return BaseTranslator.visit_literal_block(self, node) lang = node.get('language', 'default') linenos = node.get('linenos', False) highlight_args = node.get('highlight_args', {}) highlight_args['force'] = node.get('force_highlighting', False) if lang is self.builder.config.highlight_language: # only pass highlighter options for original language opts = self.builder.config.highlight_options else: opts = {} highlighted = self.highlighter.highlight_block( node.rawsource, lang, opts=opts, linenos=linenos, location=(self.builder.current_docname, node.line), **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s notranslate' % lang) 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 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'] def warner(msg): print('Warning: %s - %s ' % (msg, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args ) starttag = self.starttag( node, 'div', suffix='', CLASS='highlight-%s' % lang ) 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.highlightlang linenos = node.rawsource.count('\n') >= self.highlightlinenothreshold - 1 if node.has_key('language'): # code-block directives lang = node['language'] if node.has_key('linenos'): linenos = node['linenos'] self.body.append(self.highlighter.highlight_block(node.rawsource, lang, linenos)) 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.highlightlang linenos = node.rawsource.count("\n") >= self.highlightlinenothreshold - 1 if node.has_key("language"): # code-block directives lang = node["language"] if node.has_key("linenos"): linenos = node["linenos"] highlighted = self.highlighter.highlight_block(node.rawsource, lang, linenos) starttag = self.starttag(node, "div", suffix="", CLASS="highlight-%s" % lang) 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.highlightlang linenos = node.rawsource.count('\n') >= \ self.highlightlinenothreshold - 1 if node.has_key('language'): # code-block directives lang = node['language'] if node.has_key('linenos'): linenos = node['linenos'] highlighted = self.highlighter.highlight_block(node.rawsource, lang, linenos) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) 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.highlightlang linenos = node.rawsource.count('\n') >= \ self.highlightlinenothreshold - 1 if node.has_key('language'): # code-block directives lang = node['language'] if node.has_key('linenos'): linenos = node['linenos'] highlight_args = node.get('highlight_args', {}) def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) 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.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"] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args ) starttag = self.starttag(node, "div", suffix="", CLASS="highlight-%s" % lang) self.body.append(starttag + highlighted + "</div>\n") raise nodes.SkipNode
def visit_literal_block(self, node): # type: (nodes.Node) -> None if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight return BaseTranslator.visit_literal_block(self, node) lang = node.get('language', 'default') linenos = node.get('linenos', False) highlight_args = node.get('highlight_args', {}) highlight_args['force'] = node.get('force_highlighting', False) if lang is self.builder.config.highlight_language: # only pass highlighter options for original language opts = self.builder.config.highlight_options else: opts = {} highlighted = self.highlighter.highlight_block( node.rawsource, lang, opts=opts, linenos=linenos, location=(self.builder.current_docname, node.line), **highlight_args ) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s notranslate' % lang) self.body.append(starttag + highlighted + '</div>\n') raise nodes.SkipNode
def visit_GetTheCode_html(self, node): """ This code is a copy-paste from :file:`sphinx/writers/html.py`. """ # { # 'rawsource': u"...", # 'parent': <section "introduction": <title...><paragraph...><paragraph...><literal_block...> ...>, # 'source': '/home.../open-source-frontends.rst', # 'tagname': 'GetTheCode', # 'attributes': {'language': 'python', 'dupnames': [], 'xml:space': 'preserve', 'ids': [], 'backrefs': [], # 'source': u'/home.../SimpleRectifierWithTransformer-jmodelica.py', # 'classes': [], 'names': []}, # 'line': 42, # 'document': <document: <comment...><comment...><section "open source frontends"...>>, # 'children': [<#text: 'from pymodelica import compile_fmu\nfrom pyfmi import load_fmu\n\ni ...'>] # } self.body.append(self.starttag(node, 'div', CLASS=('getthecode'))) # self.context.append('</div>\n') basename = os.path.basename(node['filename']) download_path = posixpath.join(self.builder.dlpath, node['filename']) # class="reference download internal" self.body.append( '<div class="getthecode-header">' '<span class="getthecode-filename">%s</span>' '<a href="%s"><span>%s</span></a>' # '<button id="copy-button" data-clipboard-target="clipboard_pre">Copy to Clipboard</button>' # '<pre id="clipboard_pre">' + node.rawsource + </pre>' '</div>\n' % (basename, download_path, basename)) if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight return BaseTranslator.visit_literal_block(self, node) lang = self.highlightlang highlight_args = node.get('highlight_args', {}) if node.has_key('language'): # code-block directives lang = node['language'] highlight_args['force'] = True linenos = node.rawsource.count('\n') >= self.highlightlinenothreshold - 1 if node.has_key('linenos'): linenos = node['linenos'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block(node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) self.body.append(starttag + highlighted + '</div>\n') self.body.append('</div>\n') # don't call depart_GetTheCode_html else dump source code raise nodes.SkipNode
def visit_literal_block(self, node): self._in_literal += 1 HTMLTranslator.visit_literal_block(self, node)
def visit_GetTheCode_html(self, node): """ This code is a copy-paste from :file:`sphinx/writers/html.py`. """ # { # 'rawsource': u"...", # 'parent': <section "introduction": <title...><paragraph...><paragraph...><literal_block...> ...>, # 'source': '/home.../open-source-frontends.rst', # 'tagname': 'GetTheCode', # 'attributes': {'language': 'python', 'dupnames': [], 'xml:space': 'preserve', 'ids': [], 'backrefs': [], # 'source': u'/home.../SimpleRectifierWithTransformer-jmodelica.py', # 'classes': [], 'names': []}, # 'line': 42, # 'document': <document: <comment...><comment...><section "open source frontends"...>>, # 'children': [<#text: 'from pymodelica import compile_fmu\nfrom pyfmi import load_fmu\n\ni ...'>] # } self.body.append(self.starttag(node, 'div', CLASS=('getthecode'))) # self.context.append('</div>\n') basename = os.path.basename(node['filename']) download_path = posixpath.join(self.builder.dlpath, node['filename']) # class="reference download internal" self.body.append( '<div class="getthecode-header">\n' ' <ul>\n' ' <li class="getthecode-filename">%s</li>\n' ' <li class="getthecode-filename-link"><a href="%s"><span >%s</span></a></li>\n' # '<button id="copy-button" data-clipboard-target="clipboard_pre">Copy to Clipboard</button>' # '<pre id="clipboard_pre">' + node.rawsource + </pre>' ' </ul>\n' '</div>\n' % (basename, download_path, basename)) if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight return BaseTranslator.visit_literal_block(self, node) lang = self.highlightlang highlight_args = node.get('highlight_args', {}) if node.has_key('language'): # code-block directives lang = node['language'] highlight_args['force'] = True linenos = node.rawsource.count('\n') >= self.highlightlinenothreshold - 1 if node.has_key('linenos'): linenos = node['linenos'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block(node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) _class = 'highlight-%s' % lang if node.get('hidden', False): _class += ' highlight-hidden' starttag = self.starttag(node, 'div', suffix='', CLASS=_class) self.body.append(starttag + highlighted + '</div>\n') self.body.append('</div>\n') # don't call depart_GetTheCode_html else dump source code raise nodes.SkipNode
def visit_literal_block(self, node): HTMLTranslator.visit_literal_block(self, node)