文 / 秦未
這篇文章是給不使用Pygments的童鞋寫的,前端的插件實在太多,除了學(xué)習(xí)外,在快速開發(fā)時重復(fù)造輪子沒有必要,現(xiàn)在就教大家快速實現(xiàn)代碼塊的代碼高亮及行號。
先貼效果:
Python代碼塊
Python代碼塊
要使用的插件:
highlightj.js 代碼高亮
highlightjs-line-numbers.js 代碼行號
highlightj.js 優(yōu)勢:
- 支持174種語言和擁有77種款式
- 自動語言檢測
- 多語言代碼突出顯示
- 可用于node.js
- 與任何標記一起使用
- 兼容任何js框架
一、使用方法:
highlightj 樣式文件地址:http://www.bootcdn.cn/highlight.js/
自己挑選自己喜歡的就好。
1.在需要渲染的頁面引入樣式文件:
<link rel="stylesheet"/>
2.引入Js文件并添加調(diào)用命令:
<script src="http://cdn.bootcss.com/highlight.js/9.11.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
3.添加行號插件:
<script src="http://cdn.bootcss.com/highlightjs-line-numbers.js/1.1.0/highlightjs-line-numbers.min.js"></script>
<script>hljs.initLineNumbersOnLoad();</script>
---以下部分為2017.06.09新增內(nèi)容---
最后涉及一點關(guān)于Markdown解析模塊的優(yōu)化方案:
經(jīng)過了解,目前最好的Markdown解析模塊是Mistune,它相對于Markdown模塊,文本渲染速度提升了十倍左右,而且使用也非常簡單,我們沒什么理由拒絕使用它。
關(guān)于使用教程,GitHub已經(jīng)介紹得很清楚了,但是由于是英文的,我就粗略的翻譯一下,給大家介紹一下使用方法。
安裝:
pip install mistune
或者用cython編譯它,顯然速度更快:
pip install cython mistune
基礎(chǔ)的使用:
import mistune
mistune.markdown('I am using **mistune markdown parser**')
# 輸出結(jié)果: <p>I am using <strong>mistune markdown parser</strong></p>
當(dāng)然,官方推薦使用下面這種方法,能提高性能:
import mistune
markdown = mistune.Markdown()
markdown('I am using **mistune markdown parser**')
Mistune默認啟用了所有功能, 你不必配置任何東西。 但是你可以選擇更改解析器的一些配置。
renderer = mistune.Renderer(escape=True, hard_wrap=True)
# 實例化mistune
markdown = mistune.Markdown(renderer=renderer)
markdown(text)
# text為要渲染的文本內(nèi)容
說明:
- escape:如果設(shè)置為False,則所有原始HTML標簽都不會被轉(zhuǎn)義。
- hard_wrap:如果設(shè)置為True,它將具有GFM換行符功能。 所有新行將被替換為<br />標記。
- use_xhtml:如果設(shè)置為True,則所有標簽都將位于xhtml中,例如:<hr />標簽。
- parse_block_html:僅在塊級別HTML中解析文本。
- parse_inline_html:僅在內(nèi)聯(lián)級HTML中解析文本。
使用默認渲染器時,可以使用以下快捷方式之一:
# 第一種方式
mistune.markdown(text, escape=True, hard_wrap=True)
# 第二種方式
markdown = mistune.Markdown(escape=True, hard_wrap=True)
markdown(text)
更多內(nèi)容,請查閱官方文檔:http://mistune.readthedocs.io/en/latest/