社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

Py站长 • 11 年前 • 17929 次点击  

1. 安装软件

安装Python-Markdown 和 Pygments

Pygments是Python语言写的语法高亮工具,非常棒!主页是http://pygments.org/

2. 创建.css 文件

大家可以到 https://github.com/icco/pygments-css 上下载自己喜欢的高亮语法.css文件。

本社区采用的是 friendly.css

将该文件中的.highlight全文替换成.codehilite

如下图:

在你的HTML页面加上.css的链接,例如本社区的代码是:

<link type="text/css" rel="stylesheet" href="{{ STATIC_URL }}conanvex/styles/friendly.css"/>

3. 页面渲染时使用 markdown 的 codehilite 来渲染

import markdown

ret = markdown.markdown(code, ['codehilite'])

这个地方返回的ret就是生成的HTML代码,例如本社区的生成代码是:

最后

经过以上三步,就可以在你的HTML页面显示高亮代码啦!

最后,想说明一个问题是,python-markdown的codehilite 并没有默认语言选项,但它可以"猜"代码格式。python-markdown作者给出关于该问题的两个建议,可见 https://github.com/waylan/Python-Markdown/issues/26

支持的 语言各类有 http://pygments.org/docs/lexers/

本文主要参考:http://ikeepu.com/bar/10506174

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/206
 
17929 次点击  
文章 [ 3 ]  |  最新文章 10 年前
Py站长
Reply   •   1 楼
Py站长    10 年前

@wangyu190810 是个处理函数,对页面的内容进行markdown化的

wangyu190810
Reply   •   2 楼
wangyu190810    10 年前

你的code高亮实现

enter code hereimport markdown 
enter code hereret = markdown.markdown(code, ['codehilite'])

这个是文件是放在哪里的??我现在想要给网站代码高亮

木头lbj
Reply   •   3 楼
木头lbj    11 年前

支持!