前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prism:轻量级的 Javascript 代码高亮库

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

作者头像
Denis
发布2023-04-14 17:02:09
7140
发布2023-04-14 17:02:09
举报
文章被收录于专栏:WordPress果酱WordPress果酱

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

Prism 介绍

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

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

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

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

Prism 使用

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

代码语言:javascript
复制
<link href="prism.css" rel="stylesheet" />

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

代码语言:javascript
复制
<script src="prism.min.js"></script>

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

代码语言:javascript
复制
<pre><code class="language-css">p { color: red }</code></pre>

添加 Prism 对 PHP 的支持

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

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

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

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

代码语言:javascript
复制
if (Prism.languages.markup) {
	Prism.languages.insertBefore('php', 'comment', {
		'markup': {
			pattern: /(?>|?>)[wW]*?(?=(<?php|

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

代码语言:javascript
复制
.token.function, .token.constant {
	color: #07a;
}
.token.variable {
	color: #e90;
}
.token.deliminator {
	font-weight:bold;
}

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


本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Prism 介绍
  • Prism 使用
  • 添加 Prism 对 PHP 的支持
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com