code: def markdown2html(markdown_text):
      '''
      Convert markdown text to HTML. with extensions.
      :param markdown_text:   The markdown text.
      :return:  The HTML text.
      '''
      html = markdown.markdown(
          markdown_text,
          extensions=[
              WikiLinkExtension(base_url='/wiki/', end_url=''),
              'markdown.extensions.extra',
              'markdown.extensions.toc',
              'markdown.extensions.codehilite',
              'markdown.extensions.meta'
          ]
      )
      han_biaodians = ['。', '，', '；', '、', '！', '？']
      for han_biaodian in han_biaodians:
          html = html.replace(han_biaodian + '\n', han_biaodian)
      return tornado.escape.xhtml_escape(htmlf markdown2html(markdown_text):
      '''
      Convert markdown text to HTML. with extensions.
      :param markdown_text:   The markdown text.
      :return:  The HTML text.
      '''
      html = markdown.markdown(
          markdown_text,
          extensions=[
              WikiLinkExtension(base_url='/wiki/', end_url=''),
              'markdown.extensions.extra',
              'markdown.extensions.toc',
              'markdown.extensions.codehilite',
              'markdown.extensions.meta'
          ]
      )
      han_biaodians = ['。', '，', '；', '、', '！', '？']
      for han_biaodian in han_biaodians:
          html = html.replace(han_biaodian + '\n', han_biaodian)
      return tornado.escape.xhtml_escape(html)
docs: Convert markdown text to HTML. with extensions.
      :param markdown_text:   The markdown text.
      :return:  The HTML text.