[英]Github Flavored Markdown in Python
有沒有辦法解析文本文件以在python 2.7中輸出Github Flavored Markdown(GFM)的樣式?
這個網站和其他地方有很多例子提供pygments / jinja2語法高亮指南,如下所示:
{% highlight 'python' %}
def testing(x):
print x
{% endhighlight %}
但我想使用markdown格式化我的整個帖子,類似於編寫這個問題,然后將其傳遞給jinja2過濾器以應用樣式。 上面的代碼片段只有在我可以預先確定代碼塊的位置時才會起作用,並將它們分開處理,而不是文本文件的其余部分。
我發現Google維護的代碼( https://github.com/google/py-gfm )我認為這是正確的跟蹤,但我只提供以下擴展程序:
In [10]: gfm.
gfm.AutolinkExtension gfm.SpacedLinkExtension gfm.hidden_hilite
gfm.AutomailExtension gfm.StrikethroughExtension gfm.semi_sane_lists
gfm.HiddenHiliteExtension gfm.autolink gfm.spaced_link
gfm.SemiSaneListExtension gfm.automail gfm.strikethrough
我不清楚如何解析我的字符串/文本文件以輸出我需要的東西。
現在,我將我的帖子傳遞給名為markdown的過濾器: {{ post.body|markdown() }}
其中定義了markdown:
def markdown(code):
from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter
return highlight(code, PythonLexer(), HtmlFormatter())
這就是我現在所處的位置 - 但這會像整個帖子一樣對待代碼塊並根據python的語法規則進行突出顯示。 是否已經有可能或者一種方法來編寫一個過濾器github_markdown()
,它將采用我的原始帖子體(類似於這篇文章)並添加樣式和鏈接我的喜好?
謝謝你的幫助。
Stack:Ubuntu 14.04,Python 2.7,Pygments 2.02,Flask 0.10.1,Jinja2,MongoDB 3.0.6
python-markdown
庫支持可插入擴展。 有第三方制作的標准擴展和更多定制擴展。 https://github.com/google/py-gfm
實現了Github Flavored Markdown。 將此擴展添加到Python Markdown很簡單。
鑒於這似乎有多大的痛苦,我決定將mistune和pygments結合起來給我想要的東西: https : //github.com/asottile/markdown-code-blocks
用法非常簡單:
pip install markdown-code-blocks
該庫提供單一功能
markdown_code_blocks.highlight(markdown_s)
您可以使用典型的pygments主題設置輸出樣式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.