LBS asp博客系统添加代码高亮插件的方法

所属分类: CMS教程 / 其它cms 阅读数: 1946
收藏 0 赞 0 分享
1、代码高亮工具:syntaxhighlighter
  下载地址:http://code.google.com/p/syntaxhighlighter/downloads/list

  2、修改的文件
   global.asp
   class\ubbcode.asp

   style\SyntaxHighlighter.css (新增加的代码高亮CSS文件)
   Scripts\ (新增加的文件夹,里面为相关代码高亮的JS文件)


  3、修改方法
  首选把syntaxhighlighter下载到本地把里面的Scripts文件夹复制到你的blog根目录下,把styles文件夹下的SyntaxHighlighter.css放到你blog的styles文件夹下。
  接下来是修改文件,修改最主要的一个文件是class\ubbcode.asp
  class\ubbcode.asp改动内容:

复制代码
代码如下:

// Bring Back HTML New Line <br /> and Spaces
str=str.replace(/\n/g,"<br />");
str=str.replace(/\$nbsp\$/g," ");
//以上是本身就在的代码段,以下是我新添加的代码段,找对位置添加就可以了
//Break N add///////////////////////////////////////////////////////////2007-7-25 把代码里的换行换成\n
str=str.replace(/\<CodeBR\>/g,"\n");

此文件还有一处改动,找到// Process [code] tag,这个是code UBB代码的解析方法,替换为以下内容:
  注意:为避免解析,我把[]换成全角了

复制代码
代码如下:

// Process [code=] tag ///////////////////////////////////////////////////////Break N Edit 2007-7-25޸
this.formatCode=function(str){
str=str.replace(/\[code\]/ig,"[code=]");
// Clean up string
str=str.replace(/\[code=/ig,"[code=");
str=str.replace(/\[\/code\]/ig,"[/code]");
str=str.replace(/\n*\[code=/ig,"[code=");
str=str.replace(/\n*\[\/code\]/ig,"[/code]");
str=str.replace(/\[code=([^]]*)]\n*/ig,"[code=$1]");
str=str.replace(/\[\/code\]\n*/ig,"[/code]");
while(str.indexOf("[code=", 0)>-1 && str.indexOf("[/code]", 0)>-1){
var intStart,intEnd;
var strText="";
   var strAuthor="";
   var strSource="";
   var strResult="";
intStart = str.indexOf("[code=", 0) + 6;
   intEnd = str.indexOf("]",intStart);
if(intStart>5 && intEnd>0){
strAuthor = str.substr(intStart, intEnd-intStart);
}
intStart = intStart + strAuthor.length + 1;
intEnd = str.indexOf("[/code]", intStart) ;
if(intEnd<=intStart) intEnd = intStart;
if(intEnd>intStart){
strText = str.substr(intStart, intEnd-intStart);
    var strAuthorText = strAuthor.replace(/\"/g, "");
    strAuthorText = strAuthorText.length>1 ? strAuthorText :"c-sharp";
    var strContent = this.encUBB(strText.replace(/^ +/gm," ").replace(/\:\/\//g,":")).replace(/\n/g,"<CodeBR>")
    //response.write(strContent);
    strResult = '<pre name="code" class="'+strAuthorText+'">'+ strContent.replace(/\<br\s\/\>/ig,'\r\n') + "</pre>";
//strResult = '<div class="code">'+ this.encUBB(strText.replace(/^ +/gm," ").replace(/\:\/\//g,"://")) + "</div>";
}
intStart = str.indexOf("[code=", 0);
intEnd = str.indexOf("[/code]", intStart) + 7;
if(intEnd<=intStart+6) intEnd = intStart + 7;
strSource = str.substr(intStart, intEnd-intStart);
if(strResult!=""){
str = str.replace(strSource, strResult);
}else{
str = str.replace(strSource, strSource.replace(/\[/g, "["));
}
}
return str;
}

修改global.asp文件

复制代码
代码如下:

<link rel="stylesheet" type="text/css" href="<%=theCache.settings["styleSheet"]%>" />
<!--找到以上代码段,以下面添加如下代码即可。下面的代码段为新添加内容 -->
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>

把以下内容放在function pageFooter()中:

复制代码
代码如下:

<script class="javascript" src="Scripts/shCore.js"></script>
<script class="javascript" src="Scripts/shBrushCSharp.js"></script>
<script class="javascript" src="Scripts/shBrushPhp.js"></script>
<script class="javascript" src="Scripts/shBrushJScript.js"></script>
<script class="javascript" src="Scripts/shBrushJava.js"></script>
<script class="javascript" src="Scripts/shBrushVb.js"></script>
<script class="javascript" src="Scripts/shBrushSql.js"></script>
<script class="javascript" src="Scripts/shBrushXml.js"></script>
<script class="javascript" src="Scripts/shBrushDelphi.js"></script>
<script class="javascript" src="Scripts/shBrushPython.js"></script>
<script class="javascript" src="Scripts/shBrushRuby.js"></script>
<script class="javascript" src="Scripts/shBrushCss.js"></script>
<script class="javascript" src="Scripts/shBrushCpp.js"></script>
<script class="javascript">
dp.SyntaxHighlighter.ClipboardSwf = 'Scripts/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>

Foot部分完整的代码添加效果示例

复制代码
代码如下:

// Page footer //////////////////////////////////////////////////////////////
function pageFooter(){
// Caculate Execution Time
processTime = Number(new Date()) - processTime;
%>
<!--高亮 -->
<script class="javascript" src="Scripts/shCore.js"></script>
<script class="javascript" src="Scripts/shBrushCSharp.js"></script>
<script class="javascript" src="Scripts/shBrushPhp.js"></script>
<script class="javascript" src="Scripts/shBrushJScript.js"></script>
<script class="javascript" src="Scripts/shBrushJava.js"></script>
<script class="javascript" src="Scripts/shBrushVb.js"></script>
<script class="javascript" src="Scripts/shBrushSql.js"></script>
<script class="javascript" src="Scripts/shBrushXml.js"></script>
<script class="javascript" src="Scripts/shBrushDelphi.js"></script>
<script class="javascript" src="Scripts/shBrushPython.js"></script>
<script class="javascript" src="Scripts/shBrushRuby.js"></script>
<script class="javascript" src="Scripts/shBrushCss.js"></script>
<script class="javascript" src="Scripts/shBrushCpp.js"></script>
<script class="javascript">
dp.SyntaxHighlighter.ClipboardSwf = 'Scripts/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>
<!-- 高亮 /end -->
<div id="footer">
<div id="innerFooter">
<!-- REMOVAL OF THIS COPYRIGHT WITHOUT PERMISSION FROM THE AUTHOR WILL VIOLATE THE LICENCE YOU AGREED TO WHEN DOWNLOADING THIS SOFTWARE. -->
<!-- Copyright Start -->
Powered by <a href="http:www.voidland.com/" target="_blank">LBS Version <%=blogVersion%></a> &copy; 2003-2005 <a href="http:www.breakN.net">Break N</a>

</div>
</div>
</div>
</div>
</body>
</html>
<%
connBlog.close();
SessionSession.CodePage = Session("OldCodePage");
if(inDebug) showSQL();
}
%>

最后保存文件,上传到服务器就搞定了。

4、如何使用
  为避免解析,我把[]换成全角了
HTML=[code=html]
XML=[code=xml]
C#=[code=C#]
Javascript=[code=js]
CSS=[code=css]
Java=[code=java]
C++=[code=c]
Delphi=[code=delphi]
PHP=[code=php]
Python=[code=python]
Ruby=[code=ruby]
SQL=[code=sql]
Visual Basic=[code=vb]
转自: http://blog.breakn.net/article.asp?id=349
更多精彩内容其他人还在看

光线cms、马克斯MaxCMS影视系统调用吉吉影音替换快播播放器的方法

这篇文章主要介绍了光线cms、马克斯MaxCMS影视系统调用吉吉影音替换快播播放器的方法,本文内容要有一定的编程知识才可以操作,需要的朋友可以参考下
收藏 0 赞 0 分享

PageAdmin 安装IIS配置图解教程

PageAdmin是一款优秀的网站管理系统,在搭建环境时可能会遇到一些问题,下面小编为大家提供了IIS的简单配置方法,希望能帮助大家。
收藏 0 赞 0 分享

错误号:3704 错误描述:对象关闭时,不允许操作

这篇文章主要介绍了错误号:3704 错误描述:对象关闭时,不允许操作,需要的朋友可以参考下
收藏 0 赞 0 分享

Opencart如何添加中文简体语言包

一款比较流行的电子商务平台,通过他的名称也能看得出是一款地道的电商平台,但是默认语言为英文,官网上有简体中文版本的翻译文件,但是不知道如何去更新,只能google,但是找到的方法都不奏效,更有误导的作用,只好自己去官网找资料,解决了此类问题
收藏 0 赞 0 分享

Typecho 创建文章归档页面的实现方法(非插件)

这个归档相信大家都不陌生,因为本人是先从wordpress开始的,所以在wp实现了这个之后跳到typecho必须也要实现这个,好在开源什么都可以通过代码实现,
收藏 0 赞 0 分享

Typecho CSS3个性留言板之读者墙页面的实现方法

这篇文章主要介绍了Typecho CSS3个性留言板读者墙页面的添加方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Joomla网站管理系统的运行空间选择方法

Joomla是一个应用比较广泛的开源免费建站软件之一,站长在确定使用Joomla建站后,一个重要的步骤就是正确的选择合适的、性价比高的Joomla空间。Joomla空间如何正确选择
收藏 0 赞 0 分享

苹果CMS系统建站安装步骤

在本篇文章里小编给大家整理的是一篇关于如何安装苹果CMS系统建站的相关教程文章,有需要的朋友们可以学习下。
收藏 0 赞 0 分享

苹果cms模板的添加步骤教学

这篇文章主要介绍了苹果cms模板的添加步骤教学,如果大家对苹果CMS有兴趣正在学习自己搭建,可以学习下。
收藏 0 赞 0 分享

苹果cms添加幻灯片的操作方法

这篇文章主要为大家介绍了苹果cms添加幻灯片的操作方法,步骤很简单,有需要的朋友们跟着操作下。
收藏 0 赞 0 分享
查看更多