Django高亮Markdown代码

###概述

自从用了markdown写文档就爱不释手, 可是总有点遗憾, 那就是代码高亮。把代码块打扮的好看点也总算对得起代码。Django要高亮markdown中的代码确实很简单, 只需要以下三步(当然前提是要先装了Django的markup app,使用方法参考 https://docs.djangoproject.com/en/1.4/ref/contrib/markup/)。 本文首先参考了 Django+Markdown+Pygments 实现代码高亮django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务 两篇文章, 将两个文章中的情景做了下总结。

###下载Pygements 代码样式

首先可以到 Pygements 官网查看样式, 在demo页面选择样式, 然后查看源代码, 将 /media/pygments_style.css 的代码拷贝下来存到一个css文件里即可。

或者如果觉得麻烦还可以到 https://github.com/icco/pygments-css 直接下载css。

但是不论下载哪个, 都要做个小修改。 对于从demo页面取下来的代码,将里面的 .syntax 替换为 .codehilite。对于从github下载的样式,将里面的 .highlight 替换为 .codehilite 即可。

###代码样式引入HTML

这步简单, 在模版中添加引入css的代码即可

:::Html
<link rel="stylesheet" type="text/css" href="{{URL for your Code Style CSS}}">

###渲染代码块

此处可能涉及到两种用法,

  1. 在代码中渲染

     :::Python    
     import markdown
    
     md = markdown.Markdown(extensions=['codehilite'])   
    
  2. 在模版中渲染

     :::Django
     {% load markup %}
     {{ post.body|markdown:'codehilite'}}
    

###总结

pygements会自动识别代码类别, 如果不放心的话可以再代码块前加上 :::{Language} 指明语言即可。

参考资料:

[1] Django+Markdown+Pygments 实现代码高亮

[2] django 简易博客开发 5 markdown支持、代码高亮、gravatar头像服务

转载于:https://my.oschina.net/GivingOnenessDestiny/blog/144625

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值