def METHOD_NAME(self, text):
    text = text.replace("{{", "{{ '{{' }}")
    text = self.escape_html_outside_backticks(text)
    in_lines = text.strip().splitlines()
    if in_lines and in_lines[0].endswith(':') \
            and any(line.startswith('  ') for line in in_lines):
        class Parser(object):
            def __init__(self, formatter):
                self.section = []
                self.out_lines = []
                self.formatter = formatter
            def parse(self, in_lines):
                for line in in_lines:
                    if line.endswith(':'):
                        self.add_header(line[:-1])
                    else:
                        self.add_to_section(line)
                self.shift_section()
            def add_header(self, header):
                self.shift_section()
                self.out_lines.extend(['{} {}'.format('#' * (self.formatter.header_level + 1), header)])
            def shift_section(self):
                if self.section:
                    self.out_lines.append('```')
                    self.out_lines.extend(self.section)
                    self.out_lines.append('```')
                self.section = []
            def add_to_section(self, line):
                self.section.append(line)
            def get_output(self):
                return '\n'.join(self.out_lines) + '\n'
        parser = Parser(formatter=self)
        parser.parse(in_lines)
        text = parser.get_output()
    else:
        text = text.replace('Example:\n', '##### Example\n')
    return super(MarkdownFormatterBase, self).METHOD_NAME(text)