在Django中使用Markdown+Pygments

markdown简单实用,使得我们可以更加专注写作本身,而不用为了文章的段落样式而苦恼。


如果你还没有用过Markdown,你可以看看他的简单用法,在这里


在这里我们来简单配置,使得我们的Django应用支持Markdown语法,并且支持不同主题的代码高亮。


首先安装Markdown和pygments,前者使得文章支持Markdown语法,后者可以以css的形式来美化代码区


pip install markdown
pip install pygments

接下来在需要使用Markdown的地方加上如下代码。我们以article.content为例。


#记得导入第三方包
import markdown

article.content = markdown.markdown(article.content,
                              extensions=['markdown.extensions.fenced_code',
                                 'markdown.extensions.extra',
                                 'markdown.extensions.codehilite',
                                 'markdown.extensions.toc',
                              ])

这样,原先的Markdown形式的文本,就会被渲染成HTML文本了,extensions是我们给渲染函数传递的其他参数,


其中,codehilite是语法高亮扩展,其他的两个参数。我也不是太明白。


接着,在模板中就可以使用来引入到模板中。加上过滤safe会告诉Django这是安全的,你不需要做什么。


这样虽然可以使用Markdown了,但我们文章中的代码区并不会被渲染。会跟普通文本一样,可能比普通文本还难看。


这时,Pygments就可以派上用场了,上面我们已经安装过它了,所以我们直接说怎么用。


首先在Django应用的static/css/目录下打开终端,也就是静态文件目录,根据自己实际目录情况,输入下面的命令:

pygmentize -S monokai -f html -a .codehilite > monokia.css

命令执行完毕,你会发现该目录下多了个monokai.css的文件。先解释下上面的命令。


-S 指定主题,跟主题名,有monokai,github, default等等,我比较喜欢monokai


接着在模板中引入此文件即可。这样代码区就会被渲染了,就如本文中的一样。



 上一篇
Hexo+Github+Domain构建自己的个性博客 Hexo+Github+Domain构建自己的个性博客
本文主要讲述下,如何使用Github和Hexo搭建一个静态博客,本文大致分为以下几个部分。 准备开发环境和工具 创建自己的github page仓库 使用Hexo创建静态博客,并使用主题 提交代码,添加域名解析(可选) 1. 准备
2019-05-17
下一篇 
腾讯云申请SSL证书并配置Apache服务器(Centos7) 腾讯云申请SSL证书并配置Apache服务器(Centos7)
在腾讯云申请SSL证书并配置Apache服务器 使用SSL可以避免很多问题,关于SSL的介绍,看这里 因为自己的主机使用的是腾讯云 的,所以也就选择了在腾讯云购买SSL证书,他们有免费的,可以直接申请。其他的云服务商应该也是如此。 申请非常
2018-07-07