用 highlight.js 为文章中的代码添加语法高亮
来源:http://www.ghostchina.com/adding-syntax-highlighting-to-ghost-using-highlight-js/
-------------------------------------------------------------------------------------
如果我们的文章中包含了代码,Ghost 默认是不做处理的,也就是说:没有为代码增加语法高亮。
其实,这个问题可以从 Ghost 系统入手解决,可惜现在 Ghost 还不支持插件,如果直接修改 Ghost 系统的话,每次系统升级都会很麻烦;那么,我们只好在页面上解决这个问题了,也就是为主题(theme)增加语法高亮的支持,在这里,我们以 Ghost 的默认主题(theme)-- Casper -- 为例,语法高亮插件采用 highlight.js 。
先来看看 highlight.js 有什么能力吧:
- 支持 71 种编程语言的语法解析;拥有 44 种样式
- 自动检测编程语言
- 同时为多种编程语言代码高亮
- 可以在 node.js 平台上运行
- 支持各种标签
- 与任何 js 框架兼容
OK,接下来就看看怎么用 hightlight.js 吧!
引入 highlight.js 文件
我们需要在页面中同时引入一个 js 文件和一个 css 文件(在这里我们省点儿力气,直接使用 Bootstrap中文网 提供的 CDN 链接,既简单又提升加载速度):
<link href="http://cdn.bootcss.com/highlight.js/8.0/styles/monokai_sublime.min.css" rel="stylesheet">
<script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script>
第一个文件是样式文件,我们采用 sublime 编辑器类似的样式;第二个文件是 highlight.js 的核心文件,就是它解析代码的。
在添加这两个文件的时候,我们还是按老规矩,将 CSS 文件添加到 <head>
中,将 js 文件添加到页面底部 </body>
标签前面,这样就完成了 highlight.js 的引入。
注:你可以在本页面点击右键 -> 查看源码,找到上面提到的两个文件,然后照葫芦画瓢就行。
让代码高亮吧
前面的准备工作做完了,现在还有最后一步,就是:调用 hihglight.js 解析代码,完成高亮工作。
在 <script src="http://cdn.bootcss.com/highlight.js/8.0/highlight.min.js"></script>
标签下面加入如下代码:
<script >hljs.initHighlightingOnLoad();</script>
这样,highlight.js 就会自动寻找 < pre><code></code></pre >
代码块并完成代码高亮了!
书写 markdown 时的注意事项
对于大段的代码建议采用 gfm 格式,如下:
```
这里放代码
```
highlight.js 可以自动识代码所用的编程语言,但是,电脑不如人脑啊!识别错误的几率很高,所以,为了安全起见,最好标识一下所用的编程语言,例如:
```html
<DOCTYPE html>
<html>
</html>
```
前面说过,highlight.js 支持 71 种编程语言(完整列表看这里),既包括常见的 C、java、javascript、ruby、python、html、css
等,还支持 apache、nginx
这些配置文件的语法,所以,在你书写这些代码的时候,可以看看 highlight.js 是否支持所用的语法,然后标注对应的语言,让 highlight.js 完美的对其高亮显示吧。
特别提醒
本页面中的代码高亮就是上面的方式哦,直接开启浏览器的调试工具研究吧!
用 highlight.js 为文章中的代码添加语法高亮的更多相关文章
- LaTeX中Python代码的语法高亮
LaTeX中Python代码的语法高亮 本文中,"{}"中的字母为LaTeX或Python的包名,只有"Pygments"是Python的包,其他都是LaTeX ...
- Word中的代码怎样语法高亮
在平常我们粘贴代码到Word中的时候,经常会遇到代码粘贴到Word中后没有语法高亮,看着很乱很不友好,Word自带的样式---语法使用着也不尽人意, 网上有很多做法可以使得在插入在Word中的代码能够 ...
- 在 Microsoft Word 文档 中粘贴代码实现语法高亮的方法
1.下载notepad++. 2.将代码粘贴进notepad++,或者直接用notepad++打开. 3.点击顶栏 ===> 插件 ===> NppExport ===> cope ...
- prism.js——让网页中的代码更好看
粗放的代码展示 有时候,网页中会插入代码.直接把代码放入<pre></pre>标签和<code></code>标签里,也算是可以在页面中显示出来. 比如 ...
- MWeb 1.5 发布!增加打字机滚动模式、发布到 Evernote、印象笔记、Wordpress.com、Blogger、编辑器内代码块语法高亮
打字机滚动模式(Typewriter Scrolling) 快捷键:CMD + Option + T,菜单:View - Typewriter Scrolling ,效果如下图: 发布到 Everno ...
- 使用 highlight.js 在网页中高亮显示java 代码 【原】
<html> <head> <meta charset="UTF-8"> <script src="http://apps.bd ...
- 在word中使用notepad++实现代码的语法高亮
转载自:http://blog.csdn.net/woohello/article/details/7621651 有时写文档时需要将代码粘贴到word中,但直接粘贴到word中的代码虽能保持换行与缩 ...
- 在word中使用notepad++实现代码的语法高亮 分类: C_OHTERS 2013-09-22 10:38 2273人阅读 评论(0) 收藏
转载自:http://blog.csdn.net/woohello/article/details/7621651 有时写文档时需要将代码粘贴到word中,但直接粘贴到word中的代码虽能保持换行与缩 ...
- Qt中文本编辑器实现语法高亮功能(Qscitinlla)
Scintilla是一个免费.跨平台.支持语法高亮的编辑控件.它完整支持源代码的编辑和调试,包括语法高亮.错误指示.代码完成(code completion)和调用提示(call tips).能包含标 ...
随机推荐
- Gradle使用小结
Gradle是CI过程工具,而不是系统.持续集成过程中的构建.自动化测试.打包.发布都可以使用Gradle来完成.而持续进程过程为我们降低各方面成本,提高产品信心,提高产品质量有着非常重要的作用(不要 ...
- wireshark常用过滤条件
抓取指定IP地址的数据流: 如果你的抓包环境下有很多主机正在通讯,可以考虑使用所观察主机的IP地址来进行过滤.以下为IP地址抓包过滤示例: host 10.3.1.1:抓取发到/来自10.3.1.1的 ...
- Ural-1146Maximum Sum-最大子矩阵
Time limit: 0.5 second Memory limit: 64 MB Given a 2-dimensional array of positive and negative inte ...
- 立即执行函数: (function(){...})() 与 (function(){...}()) 有什么区别?
没有区别. function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运行. foo(); // 这是语句,Statement:解释器遇到语 ...
- 理解LSTM网络
转载自:http://blog.csdn.net/ycheng_sjtu/article/details/48792467
- laravel框架总结(十四) -- 数据迁移和数据填充
一.数据迁移 1.创建一个迁移 1>使用artisan命令make:migration来创建一个新的迁移: php artisan make:migration create_sutdents_ ...
- 【转】如何查看当前Open的Cursor
遇到错误:A cursor with thename ' ' already exists,想要看是什么代码导致的.找到下面几种方法. --测试声明Cursor并且打开 DECLARE vend_cu ...
- VC++ 回调函数及使用方法(转)
转载:http://blog.csdn.net/vsooda/article/details/7435801 转载:http://blog.csdn.net/lincyang/article/deta ...
- 渗透杂记-2013-07-13 Windows XP SP2-SP3 / Windows Vista SP0 / IE 7
Welcome to the Metasploit Web Console! | | _) | __ `__ \ _ \ __| _` | __| __ \ | _ \ | __| | | | __/ ...
- 第三天的学习知识HTML5常用的重要单词
a: a:猫 address:地址 alt:替用(一般是图片显示不出的提示) b: b:粗体 br:换行 background:背景 border:边框 ...