Python ã§ Github Flavored Markdown ãã¬ã³ããªã³ã°ãã
ååã®è£è¶³çãªå 容
python ã® Markdown ã©ã¤ãã©ãªèªä½ã¯ Github Flavored Markdown(GFM) ããµãã¼ããã¦ããªãã
>>> import markdown >>> markdown.markdown("```python\ndef hello():\n print('hello')\n```") u"<p><code>python\ndef hello():\n print('hello')</code></p>"
python ã® Markdown ã©ã¤ãã©ãªã¯æ¡å¼µå¯è½ã«ãªã£ã¦ãããMarkdown ã©ã¤ãã©ãªã®æ¡å¼µã©ã¤ãã©ãªã¨ã㦠py-gfm ã使ã㨠gfm ãæ±ããããã«ãªãã
>>> import markdown >>> markdown.markdown("```python\ndef hello():\n print('hello')\n```", extensions=['gfm']) u'<pre class="highlight"><code class="language-python">def hello():\n print(\'hello\')</code></pre>'
ãã¦ãããã§ python ã§ãããã¨ãèªèãã¦ãããããã§ã¯ããããã©ãã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããå¹ãã¦ããªããããããååã®ã¨ã³ããªã§ MoinMoin ã« Markdown + py-gfm ãçµã¿è¾¼ãã ã¨ãã¯ã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããã¤ãã¦ããããªãã§ï¼
ãããæ°ã«ãªã£ã¦ããããã½ã¼ã¹èªãã ãããã®ã ãã©ãçã㯠MoinMoin ã pygments ã«ä¾åãã¦ãããããpygments ãã¤ã³ã¹ãã¼ã«ããåå¾ã§ Markdown ã©ã¤ãã©ãªã¯åããå¤ããã
$ pip install pygments
>>> import markdown >>> markdown.markdown("```python\ndef hello():\n print('hello')\n```", extensions=['gfm']) u'<div class="highlight"><pre><span class="k">def</span> <span class="nf">hello</span><span class="p">():</span>\n <span class="k">print</span><span class="p">(</span><span class="s">'hello'</span><span class="p">)</span>\n</pre></div>' >
pygments ãã¤ã³ã¹ãã¼ã«ãããã·ã³ã¿ãã¯ã¹ãã¤ã©ã¤ããã¤ããã
å®ã¯ Markdown ã®ã»ãã«ãããªã³ã¼ãããã£ãã
try: from pygments import highlight from pygments.lexers import get_lexer_by_name, guess_lexer, TextLexer from pygments.formatters import HtmlFormatter pygments = True except ImportError: pygments = False
https://github.com/waylan/Python-Markdown/blob/2.4-final/markdown/extensions/codehilite.py#L26-L32
ãããã«ããæåã ã¨æããmarkdown 颿°ã®ç¬¬äºå¼æ°ã§ extensions=['pygment']
ã¿ããã«æ¸¡ãããã«ããã°ããã®ã«ããã£ããæ¡å¼µãä½ããã«ããã®ã«ãªãããããçµåããããã®ãçè§£ã«è¦ããã
ã¾ãã¨ããããMarkdown + py-gfm + pygments ã§è¯ãæãã« GFM ãã¬ã³ããªã³ã°ã§ããã®ã§ä½¿ãã¨è¯ãã¨æãã¾ãã