###概述css
自從用了markdown寫文檔就愛不釋手, 但是總有點遺憾, 那就是代碼高亮。把代碼塊打扮的好看點也總算對得起代碼。Django要高亮markdown中的代碼確實很簡單, 只須要如下三步(固然前提是要先裝了Django的markup app,使用方法參考 https://docs.djangoproject.com/en/1.4/ref/contrib/markup/
)。 本文首先參考了 Django+Markdown+Pygments 實現代碼高亮 和 django 簡易博客開發 5 markdown支持、代碼高亮、gravatar頭像服務 兩篇文章, 將兩個文章中的情景作了下總結。html
###下載Pygements 代碼樣式git
首先能夠到 Pygements 官網查看樣式, 在demo頁面選擇樣式, 而後查看源代碼, 將 /media/pygments_style.css
的代碼拷貝下來存到一個css文件裏便可。github
或者若是以爲麻煩還能夠到 https://github.com/icco/pygments-css
直接下載css。django
可是不論下載哪一個, 都要作個小修改。 對於從demo頁面取下來的代碼,將裏面的 .syntax 替換爲 .codehilite。對於從github下載的樣式,將裏面的 .highlight 替換爲 .codehilite 便可。markdown
###代碼樣式引入HTMLapp
這步簡單, 在模版中添加引入css的代碼便可post
:::Html <link rel="stylesheet" type="text/css" href="{{URL for your Code Style CSS}}">
###渲染代碼塊code
此處可能涉及到兩種用法,htm
在代碼中渲染
:::Python import markdown md = markdown.Markdown(extensions=['codehilite'])
在模版中渲染
:::Django {% load markup %} {{ post.body|markdown:'codehilite'}}
###總結
pygements會自動識別代碼類別, 若是不放心的話能夠再代碼塊前加上 :::{Language}
指明語言便可。
參考資料: