taiga-back/greenmine/base/utils/markup.py

34 lines
747 B
Python

# -*- coding: utf-8 -*-
import sys
import codecs
from docutils import nodes
from docutils.parsers.rst import Directive, directives
def set_source_info(directive, node):
node.source, node.line = \
directive.state_machine.get_source_and_line(directive.lineno)
class CodeBlock(Directive):
"""
Directive for a code block with special highlighting or line numbering
settings.
"""
has_content = True
required_arguments = 1
optional_arguments = 0
final_argument_whitespace = False
def run(self):
code = u'\n'.join(self.content)
literal = nodes.literal_block(code, code)
literal['classes'] = ['brush: java;']
set_source_info(self, literal)
return [literal]