###概述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}
指明语言便可。
参考资料: