草履虫在路上

记录生活,学习的点点滴滴.致力于Web2.0学习,邮箱:caolvchong At gmail.com

2007-6-22 4:45:37

« 计划2ASP基本运算和基本语法 »

利用dp.SyntaxHighlighter进行语法高亮

利用dp.SyntaxHighlighter进行语法高亮 先看个最终效果,然后再后面看文章
/*-----------------------------------
 * @author	草履虫
 * @date	2007-6-22
 * @email	caolvchong@gmail.com
 * @program	语法高亮
 *-----------------------------------*/
	function welcome(){
		if(arguments[0]=="bye"){
			return;
			}
		else{
			var guest;
			for(var i=0;i < arguments.length; i++){
				guest+="'"+arguments[i]+"'";
				}
			alert("hello,"+guest+"!");
		}
	}
具体操作过程如下:

1.下载最新的dp.SyntaxHighlighter包,目前最新的是1.5版本
你可以登陆http://code.google.com/p/syntaxhighlighter/下载最新版本
关于dp.SyntaxHighlighter:
  dp.SyntaxHighlighter是一个用于对各种程序源代码语法进行加亮显法的 JavaScript工具。支持当前流行的各种编程语言包括:C#,C++,Delphi,Java,JavaScript,PHP,Python, Ruby,SQL,VisualBasic,XML/HTML

2.解压到需要的目录

然后务必看下里面的例子调用,你就明白怎么处理,不要盲目和我下面处理成一样的

3.文章输出页面的修改:
在head中加入SyntaxHighlighter.css,路径要写对
在body结束前加入你需要的js文件,同样路径要写对
如果你看过下载下来文件中自带的例子,你会很容易看懂上面两句话的

4.下面是一个具体过程是:
  -----解压文件夹到/dp.SyntaxHighlighter下(网站根目录,我使用虚拟路径,后面也一样,你也可以用相对路径或者url)
-----我删除了里面的例子,只保留了两个文件夹:Scripts和Styles
-----我使用的是Z-blog,因此修改Z-blog输出页面:
    Z-blog输出页面是default.html(首页)和single.html(具体新闻页)
    在这两个页面的head区加入

		link标签:type="text/css" rel="stylesheet" href="/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css"(这句在firefox下显示不出来,所以这样表示)
在body结束前加入
		
		
		
		
		
		
		
		
		
		
		
		
		
		
你不一定要加入这么多,比如你根本用不到Delphi或者VB,你大可不加对应的script,并且可以删除对应文件

  -----Z-Blog还要修改一些文件:
    /function/c_system_event.asp中Ctrl+G找到266行,找到:
      Case "fckeditor"
       objArticle.Content=Request.Form("txaContent")
       objArticle.Content=Replace(objArticle.Content,vbCrLf,"")'把这句注释掉
       objArticle.Content=Replace(objArticle.Content,vbLf,"")'把这句注释掉
    /function/c_system_lib.asp中Ctrl+F搜索[vbCrlf],有两处,去掉(一个控制首页一个控制具体页,换行功能)

    然后重建文件即可

5.使用
  使用源码标签pre进行调用,而XML/HTML还可以采用textarea标签,如<br/>
  <pre name="code" class="js"></pre>
这样你可以加入js代码语法高亮显示
  同样的,如果你用其他代码,修改class即可.如:
  Ruby用<pre name="code" class="ruby"></pre>等等.这些可以查看自带的例子,有很清晰的应用

6.后续:
  如果你愿意,可以把这个功能捆绑在编辑器上(如捆绑在fckeditor,而Rich Editor这款编辑器上就带有语法高亮功能),这个功能大家有兴趣的可以研究下
最后,有个问题提出,在firefox下长的句子可能不能断行而出现滚动条,你可以尝试给pre或textarea设计样式来解决

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog 1.7 Laputa Build 70216

Copyright 2007-2008 草履虫 All Rights Reserved.