使用 Prism.js 实现漂亮的代码语法高亮

最近有好几个人问我使用的是哪个代码高亮插件?其实我并没有使用 WordPrees 插件,而是直接使用了一个 JavaScript 库 —— Prism 是一款轻量、可扩展的代码语法高亮库,使用现代化的 Web 标准构建。

为什么选择 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.js的效果如何?

CSS


@import url(http://fonts.googleapis.com/css?family=Questrial); 
@import url(http://fonts.googleapis.com/css?family=Arvo); 
@font-face { 
src: url(http://lea.verou.me/logo.otf); 
font-family: 'LeaVerou';
}

如何使用?

WordPress用户:

可以首先从官网下载所需的JS和CSS文件,进入相应的主题目录下上传下载获得的JS和CSS文件。

方法①:将下面的代码复制到funcations.php中。

 function add_prism() {
        wp_register_style(
            'prismCSS', 
            get_stylesheet_directory_uri() . '/prism.css' //自定义路径
         );
          wp_register_script(
            'prismJS',
            get_stylesheet_directory_uri() . '/prism.js'   //自定义路径
         );
        wp_enqueue_style('prismCSS');
        wp_enqueue_script('prismJS');
    }
add_action('wp_enqueue_scripts', 'add_prism');

方法②:编辑header.php文件,在<head>和</head>之间加入代码:

<link href="/wp-content/themes/your_theme/prism.css" rel="stylesheet" />

编辑footer.php,在</body>之前加入代码:

<script src="/wp-content/themesyour_theme/prism.js"></script>

(将your_theme修改为您的主题名称。)

以上工作结束后,就可以在编辑文章时使用以下方式,实现代码高亮了。

<pre><code class="language-c">  code_here </code></pre>

(language-c中,红色字体可修改任意语言,但必须保留language-,如language-php)

其他用户:

可以在官网下载JS和CSS文件后上传至服务器,然后在网页引用这两个文件即可:

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

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

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

试试吧,真的很棒!

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

本文源自:小影志微光城市

8 条评论

发表评论

*