def dump(self, format, dumper, linker=None): if format == "html": if self._attrib['lang']: # class="brush: language;" works with SyntaxHighlighter 2.0.278 # by Alex Gorbatchev <http://alexgorbatchev.com/SyntaxHighlighter/> # TODO: not all GtkSourceView language ids match with SyntaxHighlighter # language ids. # TODO: some template instruction to be able to use other highlighters as well? output = [ '<pre class="brush: %s;">\n' % html_encode(self._attrib['lang']) ] else: output = ['<pre>\n'] data = self.get_data() data = html_encode( data) # XXX currently dumper gives encoded lines - NOK if self._attrib['linenumbers']: for i, l in enumerate(data.splitlines(1)): output.append('%i ' % (i + 1) + l) else: output.append(data) output.append('</pre>\n') return output return CustomObjectClass.dump(self, format, dumper, linker)
def dump(self, format, dumper, linker=None): if format == "html": if self._attrib['lang']: ''' to use highlight.js add the following to your template: <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/styles/default.min.css"> <script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/highlight.min.js"></script> <script>hljs.initHighlightingOnLoad();</script> Map GtkSourceView language ids match with Highlight.js language ids. http://packages.ubuntu.com/precise/all/libgtksourceview2.0-common/filelist http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html ''' sh_map = {'dosbatch': 'dos'} sh_lang = sh_map[self._attrib['lang']] if self._attrib['lang'] in sh_map else self._attrib['lang'] # TODO: some template instruction to be able to use other highlighters as well? output = ['<pre><code class="%s">' % html_encode(sh_lang)] # for syntaxhigligther '''' class="brush: language;" works with SyntaxHighlighter 2.0.278, 3 & 4 output = ['<pre class="brush: %s;">' % html_encode(sh_lang)] # for syntaxhigligther ''' else: output = ['<pre>\n'] data = self.get_data() data = html_encode(data) # XXX currently dumper gives encoded lines - NOK #if self._attrib['linenumbers']: # for i, l in enumerate(data.splitlines(1)): # output.append('%i ' % (i+1) + l) #else: output.append(data) # ignoring numbering for html - syntaxhighlighter takes care of that if self._attrib['lang']: output.append('</code></pre>\n') else: output.append('</pre>\n') return output return CustomObjectClass.dump(self, format, dumper, linker)
def dump(self, format, dumper, linker=None): if format == "html": if 'lang' in self._attrib: # class="brush: language;" works with SyntaxHighlighter 2.0.278 # by Alex Gorbatchev <http://alexgorbatchev.com/SyntaxHighlighter/> # TODO: not all GtkSourceView language ids match with SyntaxHighlighter # language ids. output = ['<pre class="brush: %s;">\n' % html_encode(self._attrib['lang'])] else: output = ['<pre>\n'] data = html_encode(self.get_data()) if self._attrib['linenumbers'] == 'true': for i, l in enumerate(data.splitlines(1)): output.append('%i ' % (i+1) + l) else: output.append(data) output.append('</pre>\n') return output return CustomObjectClass.dump(self, format, dumper, linker)
def format_html(self, dumper, attrib, data): # to use highlight.js add the following to your template: #<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/styles/default.min.css"> #<script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.5.0/highlight.min.js"></script> #<script>hljs.initHighlightingOnLoad();</script> #Map GtkSourceView language ids match with Highlight.js language ids. #http://packages.ubuntu.com/precise/all/libGtkSource.0-common/filelist #http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html sh_map = {'dosbatch': 'dos'} sh_lang = sh_map[attrib['lang']] if attrib['lang'] in sh_map else attrib['lang'] # TODO: some template instruction to be able to use other highlighters as well? output = ['<pre><code class="%s">' % html_encode(sh_lang)] # for syntaxhigligther #class="brush: language;" works with SyntaxHighlighter 2.0.278, 3 & 4 #output = ['<pre class="brush: %s;">' % html_encode(sh_lang)] # for syntaxhigligther output.append(html_encode(data)) output.append('</code></pre>\n') return output
def dump(self, format, dumper, linker=None): if format == "html": if self._attrib['lang']: # class="brush: language;" works with SyntaxHighlighter 2.0.278 # by Alex Gorbatchev <http://alexgorbatchev.com/SyntaxHighlighter/> # TODO: not all GtkSourceView language ids match with SyntaxHighlighter # language ids. # TODO: some template instruction to be able to use other highlighters as well? output = ['<pre class="brush: %s;">\n' % html_encode(self._attrib['lang'])] else: output = ['<pre>\n'] data = self.get_data() data = html_encode(data) # XXX currently dumper gives encoded lines - NOK if self._attrib['linenumbers']: for i, l in enumerate(data.splitlines(1)): output.append('%i ' % (i+1) + l) else: output.append(data) output.append('</pre>\n') return output return CustomObjectClass.dump(self, format, dumper, linker)