ようやくわかったのでメモ。

markdownモジュールを使って、markdownhtmlに変換。
それをsyntax highlight効かして表示するには、Pygmentscssを埋め込まないといけんらしい。

ipython notebookでちと試す。

In [1]: from markdown import markdown

In [2]: a = 
   ...: ```python
   ...: import os
   ...: def hage():
   ...:      print(Hi, Hage)
   ...: ```
   ...: 

In [3]: from IPython.core.display import display, HTML

In [4]: b = markdown(a, extensions=[extra, codehilite])
        #b = markdown(a, extensions=[tables, fenced_code, codehilite, nl2br, def_list])

In [5]: b
Out[5]: <div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
<span class="k">def</span> <span class="nf">hage</span><span class="p">():</span>
    <span class="k">print</span><span class="p">(</span><span class="s1">&#39;Hi, Hage&#39;</span><span class="p">)</span>
</pre></div>


<p><strong>A</strong></p>
<p><code>a</code></p>

In [6]: css = 
   ...: <style type=text/css>
   ...: <!--
   ...: .codehilite .hll { background-color: #ffffcc }
   ...: .codehilite  { background: #f0f0f0; }

   ...: .codehilite .vg { color: #bb60d5 } /* Name.Variable.Global */
   ...: .codehilite .vi { color: #bb60d5 } /* Name.Variable.Instance */
   ...: .codehilite .il { color: #40a070 } /* Literal.Number.Integer.Long */
   ...: -->
   ...: </style>
   ...: 

In [7]: c = css + b

In [8]: display(HTML(c))

で、

import os
def hage():
    print(Hi, Hage)

となる。
じゃじゃーん。

埋め込むcssはコマンドラインで下記を叩けば ずらずらっと 出てくる。

>pygmentize -S default -f html -a .codehilite

markdownextensionsを指定しないといけんよ。

マニュアル群

Python Markdown

Welcome! — Pygments