Prism:轻量级的 Javascript 代码高亮库

代码高亮的程序或者 WordPress 插件有很多,但是在碰到 Prism 之前,我爱水煮鱼都没有使用代码高亮的程序,就是因为以前的那些代码高亮的程序或者插件太臃肿或者复杂,使用起来不方便。那么 Prism 有哪些地方吸引了我呢?

Prism 介绍

Prism 是一个轻量级并且简单易用的 JavaScript 类库,minified 和 gzipped 压缩后只有 1.5kb 大小,即使添加语言定义代码,最大也不会超过 2kb,是目前最小的代码高亮 Javascript 类库。

Prism:轻量级的 Javascript 代码高亮库

Prism 使用非常简单,只需添加 Javascript 和 CSS 就能够轻易的将其整合进项目中使用。目前它已内置了 HTMLCSSJavascript 三种语言的高亮支持,你也可以添加新的语法高亮配置文件,只需修改 Javascipt 和 CSS 文件就行。除此之外,它也提供了额外的插件功能,让你可以新增其它功能,比如自动转换链接等,你也可以自己撰写插件。

目前 Prism 唯一的缺点就是不支持 IE8,看作者的博客介绍,也不想支持 IE8。

Prism 使用

1. 首先在页面的 head 中引入 Prism 的 CSS 样式文件


<link href="prism.css" rel="stylesheet" />

2. 然后在 </body> 标签之前引入 Prism 类库:


<script src="prism.min.js"></script>

3. 添加要高亮显示的代码,要放在 pre 标签中,设置 code 标签的样式类型为代码的类别,如下:


<pre><code class="language-css">p { color: red }</code></pre>

添加 Prism 对 PHP 的支持

默认 Prism 并不支持 PHP 语言的代码高亮,但是如上介绍,Prism 是非常容易扩展的,所以我们通过以下方式增加 PHP 语言的支持:

1. 添加 PHP 代码高亮,在 prism.js 添加如下代码:


Prism.languages.php = {
	'comment': {
		pattern: /(^|[^\])(/*[wW]*?*/|//.*?(r?n|$))/g,
		lookbehind: true
	},
	'deliminator': /(?>|?>|<?php|

2. 允许在 PHP 代码中内嵌 HTML 代码,在 prism.js 文件添加如下代码:


if (Prism.languages.markup) {
	Prism.languages.insertBefore('php', 'comment', {
		'markup': {
			pattern: /(?>|?>)[wW]*?(?=(<?php|

3. 上面的代码增加一些新的语言元素名称:function, keyword, variable and constant,但是它们没有定义 CSS 属性,所以在 prism 的 CSS 文件添加:


.token.function, .token.constant {
	color: #07a;
}
.token.variable {
	color: #e90;
}
.token.deliminator {
	font-weight:bold;
}

下载:Prism
这里是修改过支持 PHP 代码高亮的版本:http://vdisk.weibo.com/s/ardw3


©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化建站业务,请联系微信:「chenduopapa」。