wordpress 使用 highlight.js 添加语法高亮 2016-07-19 | wordpress | 瞎折腾 文章目录 highlight.js 简介导入 highlight.js关于安装路径使用 highlight.js wordpress 使用 highlight.js 添加语法高亮 转载作者博客:snovey highlight.js 简介 wordpress 有强大的 Crayon Syntax Highlighter,因为太过强大,很多功能用不上,用这个插件会拖慢网站速度,于是找到了这个插件:highlight.js,如果你只是想给代码添加简单的高亮而不需要添加行号、复制按钮之类的功能,那么这款插件刚好适合你。下面简单的介绍一下: highlight.js 是一款强大的代码高亮插件。官方给出描述如下: 支持 166 种语言,有 77 种样式 自动识别语言 同时支持多种语言 支持 node.js 平台 支持各种标记 兼容任何 js 框架 该项目已在 Github 开源,项目地址:highlight.js 安装的思路非常简单: 导入 CSS 文件 导入 JS 文件 加载 JS 导入 highlight.js 最简单粗暴的方法如下,在 header.php 中加入如下代码: <link rel="stylesheet" href="/path/to/styles/default.css"><script src="/path/to/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script> 注意修改路径! 当然,这个办法非常不可取,JS 应当放在 <body> 中而非 <head> 中,所以改进后的办法是将 <script src="/path/to/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script> 移至 footer.php 中 </body> 标签之前。 为了插件化我更推荐你这样做:在 function.php 中添加如下代码 function add_highlight_js(){ wp_enqueue_style('highlightcss','/path/to/styles/default.css'); wp_register_script('highlightjs','/path/to/highlight.pack.js'); //注册 handle wp_enqueue_script('highlightjs', false, array(), false, true); //放至<body>下方}add_action('wp_enqueue_scripts', 'add_highlight_js'); 然后在 footer.php 中添加 <script>hljs.initHighlightingOnLoad();</script> 设置触发函数。 关于安装路径 如果是下载至本地,那么在网站的 /wp-content/plugins/ 目录下新建 highlight 文件夹,然后将压缩包解压至该文件夹,将上述的 /path/to/styles/default.css/path/to/highlight.pack.js 修改为 <?php echo get_site_url() . '/wp-content/plugins/highlight/default.css';?><?php echo get_site_url() . '/wp-content/plugins/highlight/highlight.min.js';?> 即可。如果想要提高网站的速度,也可以不从本地加载,转而使用第三方提供的 CDN,下面贴几个。 cdnjs https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.6.0/highlight.min.js yandex: https://yandex.st/highlightjs/8.2/styles/default.min.csshttps://yandex.st/highlightjs/8.2/highlight.min.js Bootstrap https://cdn.bootcss.com/highlight.js/9.6.0/styles/default.min.csshttps://cdn.bootcss.com/highlight.js/9.6.0/highlight.min.js 注意 cdnjs 不提供 CSS,而 yandex 貌似没有 8.2 以后的版本,根据自己的情况选择 CDN 吧。如果你想自定义代码高亮,不妨从 CDN 加载 JS,从本地加载 CSS,这里不啰嗦了。 使用 highlight.js hljs.initHighlightingOnLoad() 会寻找 <pre><code> 标签,所以使用 highlight.js 时应当这样写代码: <pre><code class="html">...</code></pre> 记得在 class 中填写语言的类型。啥?介绍时不是说可以自动识别么?即便如此,标记语言类型是一种良好的编码习惯。 参考链接: highlight.js highlight.js 如何正确引用 JavaScript 和 CSS 文件