高亮LXR的代码

LXR ── Linux Cross Refercence。Linux内核源码阅读和查询的利器之一,不用多介绍了。LXR安装后看到的源码是没有颜色的,用惯了语法高亮的编辑器,一下子看到满屏的黑白代码不免有点枯燥。于是给它装了个可以显示语法颜色的工具。

1、安装google-code-prettify

项目地址是:http://code.google.com/p/google-code-prettify/

$ wget http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css
$ wget http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js
我把它们放到lxr的安装目录下面,lxr我放在web服务器的根目录,所以就

2、修改lxr/http/template-head

这是lxr默认的html头,在<head></head>标签之间加上

1<link href="/lxr/prettify.css" type="text/css" rel="stylesheet" />
2<script type="text/javascript" src="/lxr/prettify.js"></script>
注意文件路径,不在乎需要从远方服务器读取的话,也可以

1<link href='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css' rel='stylesheet' type='text/css'/>
2<script src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js' type='text/javascript'></script>
这样也可以让google-code-prettify的维护者来自行维护这些脚本。

然后找到<body>标签:

1<body bgcolor=white>
改为

1<body bgcolor=white οnlοad='prettyPrint()'>
3、修改lxr/http/source

这是个perl脚本,查找字符串"<pre>",这有好几处,都在printfile这个子函数里面,改为

1<pre class=/"prettyprint/">

已经好了,这样再看LXR里面的代码就可以看到漂亮的语法颜色了。效果图:

2009-05-01 Update:

上面的效果图有一个问题,就是代码的行号也被渲染高亮了。这个可以通过给行号标识加上"nocode"这个prettifier提供的class来解决。对lxr/http/lib/LXR/Common.pm进行如下修改即可:

diff --git a/Common.pm b/Common.pm
index 9e23088..529d5a2 100755
--- a/Common.pm
+++ b/Common.pm
@@ -151,7 +151,7 @@ sub linetag {
$tag .= ' ' if $_[1] < 10;
$tag .= ' ' if $_[1] < 100;
$tag .= &fileref($_[1], $_[0], $_[1]).' ';
- $tag =~ s/<a/<a name=L$_[1]/;
+ $tag =~ s/<a/<a class="nocode" name=L$_[1]/;
# $_[1]++;
return($tag);
}
还可以在自己的css文件里面重写nocode这个class,例如加个方框啥的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值