前不久发现,在wordpress中贴代码的时候,发现code标签并没有意料中的好使用,在贴代码的时候没有高亮真的是一件无法忍受的事情。
正巧,两周前听过同事Eason的一个关于Markdown的分享,他提到过google的一个代码高亮工具,于是今天就准备瞧瞧。

Code-prettify的使用很简单,只用把相关的JS和css文件嵌入到你的网页中就行了。你可以选择去官网上把最新的文件Download下来,放在服务器上,也可以选择远程加载
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

PS:我猜想的话应该在很多代理服务器上有缓存,还能实时更新,放在整个页面的底部加载应该是个不错的选择。

万事俱备了,加载好文件后想使用Code-prettify就是非常简单的事情了。以下有部分是从官网FAQ中摘抄下来的。。。

<pre class="prettyprint lang-html">
The lang-* class specifies the language file extensions.
File extensions supported by default include
"bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html",
"java", "js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh",
"xhtml", "xml", "xsl".
</pre>

由此可见,当你想使用代码高亮时,只需要用pre标签把代码块包含进去,然后加上class="prettyprint"属性就行了。工具支持的语言有很多,大部分C家族的语言,js,html都是支持的。如果你想指定语言类型,就在pre标签加上id属性,譬如这样:<pre class="prettyprint" id="python" </pre> 这就代表着按照python的语法进行渲染,是不是很炫酷啊。

但是这工具还是有很多不足的地方,或者是我功力不够,没有找到定制的方法。
首先,它是默认黑底白字的,这样很不友好。如果我博客的背景是黑色的话,那么看上去就有问题,大家应该想得到的。
PS:不过似乎在css文件中可以自定义,有空了去找找,学习一下
另外,它没有自动支持显示行号的功能。看了下FAQ里面,它给我们提供了这样一个解决办法:
效果如下:

1:print "helloworld!" 这个不是代码区域
2:print "This is line 2"

具体标签实现如下:

<span class="nocode">1:</span>print "helloworld" <span class="nocode">这个不是代码区域</span>

<span class="nocode">2:</span> print "This is line 2"

可见带有nocode的span标签可以把内容标注为不是代码,这样就不会进入到代码高亮的逻辑判断之中去了。可是真要这样一行行的敲,确实挺麻烦的。

尽管如此,Code-prettify还是有很多人用,想必是有它的独到之处,大家不妨一试。有问题可以去官网上的讨论区翻一翻,会有收获的。
写着写着我就不禁想到了在博客园和csdn里面用到的代码高亮控件,应该很不错的样子,文章发完了就去看一下。

Google的代码高亮-code-prettify的更多相关文章

  1. google code-prettify 代码高亮插件使用方法

    找代码高亮插件选了好久,还是这个使用起来比较方便. 先上链接:插件下载地址 官方使用方法地址 建议看官方的资料,我这里仅仅简要描述一下使用方法: 引入方法: 测试引入是否成功:herf 换成 自己放置 ...

  2. 主题: 为kindsoft编辑器替换SyntaxHighlighter代码高亮,整合DEDECMS

    作者: fmamcn, 发布日期: 2012-09-29 12:28:39, 浏览数: 1567 看了狼魂发表的将kindeditor中的代码高亮插件prettify换为SyntaxHighlight ...

  3. 如何在 Evernote 中支持代码高亮

    Evernote 本身不支持代码高亮,在 Apple App-Store 上有一个建立在 Evernote 上的 EverCode,可以支持代码高亮,需要付费.虽然只有¥5,但是这个 App 似乎只能 ...

  4. 使用 Google Code Prettify 实现代码高亮

    今天这篇文章主要讲述使用 google-code-prettify 来实现代码的高亮显示,以前我使用 highlight.js 来实现文章中代码的高亮显示. prettify 非常小巧且配置简单,使用 ...

  5. 五、Google Code Prettify:实现代码高亮的JS库

    介绍 code prettify 解释为 “代码修饰”. 他由JS代码和CSS代码构成,用来高亮显示HTML页面中的代码. 支持:C, Java, Python, Bash, HTML, XML, J ...

  6. 7个高性能JavaScript代码高亮插件

    本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染 ...

  7. [转]7个高性能JavaScript代码高亮插件

    对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高 ...

  8. 9个实用的Javascript代码高亮脚本

    代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候.我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验. 目 ...

  9. 九款常用的JS代码高亮工具

    代码高亮很重要,特别是当我们想要在网站或博客中展示我们的代码的时候.通过在网站或博客中启用代码高亮,读者更方便的读取代码块. 有很多免费而且有用的代码高亮脚本.这些脚本大部分由Javascripts编 ...

随机推荐

  1. SQL语句(二十二)—— 权限授予和回收(作业练习)

    CREATE TABLE course ( Cno ) NOT NULL, Cname ) DEFAULT NULL, Cpno ) DEFAULT NULL, Ccredit smallint DE ...

  2. 使用FormData提交表单及上传文件

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...

  3. 【计蒜客】是男人就过 8 题--Pony.AI 题 A. A String Game 后缀自动机+SG函数

    [题目]A. A String Game [题意]给定目标串S和n个子串Ti,Alice和Bob轮流选择一个子串操作,必须且只能在子串末尾添加一个字符使得新串也是S的子串,不能操作即输,求胜利者.|S ...

  4. laravel判断是否post传输

    可以用post传输判断form表单是否有值post传过来: if($request->isMethod('post')){ // 要执行的代码 }通过 Request 对象的 isMethod ...

  5. Let's Encrypt 免费通配 https 签名证书 安装方法

    安装环境 centOs7 主要通过 acme.sh (bash脚本)来注册签名 git地址:https://github.com/Neilpang/acme.sh 申请证书流程 1.申请证书-> ...

  6. Count on a tree(SPOJ COT + 树上第k大 + 主席树 + LCA)

    题目链接:https://www.spoj.com/problems/COT/en/ 题目: 题意: 给你一棵有n个节点的树,求节点u到节点v这条链上的第k大. 思路: 我们首先用dfs进行建题目给的 ...

  7. python实战===python程序打包成exe

    推荐PyInstaller项目www.pyinstaller.org   安装方法: 先跑pip install pywin32再跑pip install pyinstaller即可 可用一句命令打包 ...

  8. dpkg的用法 (转)

    dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name ...

  9. geoip 扩展包根据ip定位详情

    教程:https://laravel-china.org/courses/laravel-package/2024/get-the-corresponding-geo-location-informa ...

  10. 最直白、最易懂的话带你认识和学会---数据分析基础包之numpy的使用

    前言 numpy是一个很基础很底层的模块,其重要性不言而喻,可以说对于新手来说是最基础的入门必须要学习的其中之一.在很多数据分析,深度学习,机器学习亦或是人工智能领域的模块中,很多的底层都会用到这个模 ...