使用 Prism.js 实现漂亮的代码语法高亮,并且添加快捷按钮

一直在用Pure Highlightjs插件,然后今天突然就想用 Prism了,小影主题自带Prism.js高亮,不过添加代码的时候还要自己使用语义化的 <pre> 元素和 <code> 元素来标记代码区块,我就直接做了个按钮代替= =

为什么选择 Prism.js ?

极致易用
引用 prism.css 和 prism.js,使用合适的 HTML5 标签(code.language-xxxx),搞定!
天生伶俐
语言的 CSS 类是可继承的,所以你只需定义一次就能应用到多个代码片段。
轻如鸿毛
代码压缩后只有 1.6KB。每添加一个语言平均增加 0.3-0.5KB,主题在 1KB 左右。
快如闪电
如果可能,支持通过 Web Workers 实现并行。
轻松扩展
定义新语言或扩展现有语法,或者新增功能都非常简单。
丰富样式
所有的样式通过 CSS 完成,并使用合理的类名如:.comment, .string, .property 等。

有谁在使用?

许多网站都在使用 Prism,如果你是前端开发者,那你一定十分熟悉这些网站:

这些网站在使用 Prism.js

连 JavaScript 之父 Brendan Eich 也在个人博客上使用!

如何使用:

你只需要在页面上引入 prism.cssprism.js 文件:

<!DOCTYPE html>
<html>
<head>
	...
	<link href="themes/prism.css" rel="stylesheet" />
</head>
<body>
	...
	<script src="prism.js"></script>
</body>
</html>

遵循 HTML5 标准,Prism 使用语义化的 <pre> 元素和 <code> 元素来标记代码区块:

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

 添加快捷按钮

将以下代码添加到当前使用主题的functions.php文件中即可。

// 添加代码高亮按钮
function appthemes_add_quicktags() {
?>
<script type="text/javascript">
QTags.addButton( '代码高亮', '代码高亮', '<pre><code class="language-markup">', '</code></pre>\n' );
</script>
<?php
}
add_action('admin_print_footer_scripts', 'appthemes_add_quicktags' );

效果预览

如果你感兴趣,可以 查看更多官方示例 或者 在线试用

试试吧,真的很棒!

Prism 官网 | 代码示例 | 立即下载 | GitHub

3 条评论

发表评论

*