LBS asp博客系統(tǒng)添加代碼高亮插件的方法
發(fā)布時(shí)間:2010-12-04 13:02:39 作者:佚名
我要評(píng)論

常在自己的BLOG中要發(fā)布些C#及其它的代碼。 LBS自帶的CODE標(biāo)簽功能太弱需要增強(qiáng)下。下面來介紹下要用到的高亮工具及要修改的文件
1、代碼高亮工具:syntaxhighlighter
下載地址:http://code.google.com/p/syntaxhighlighter/downloads/list
2、修改的文件
global.asp
class\ubbcode.asp
style\SyntaxHighlighter.css (新增加的代碼高亮CSS文件)
Scripts\ (新增加的文件夾,里面為相關(guān)代碼高亮的JS文件)
3、修改方法
首選把syntaxhighlighter下載到本地把里面的Scripts文件夾復(fù)制到你的blog根目錄下,把styles文件夾下的SyntaxHighlighter.css放到你blog的styles文件夾下。
接下來是修改文件,修改最主要的一個(gè)文件是class\ubbcode.asp
class\ubbcode.asp改動(dòng)內(nèi)容:
// Bring Back HTML New Line <br /> and Spaces
str=str.replace(/\n/g,"<br />");
str=str.replace(/\$nbsp\$/g,"&nbsp;");
//以上是本身就在的代碼段,以下是我新添加的代碼段,找對(duì)位置添加就可以了
//Break N add///////////////////////////////////////////////////////////2007-7-25 把代碼里的換行換成\n
str=str.replace(/\<CodeBR\>/g,"\n");
此文件還有一處改動(dòng),找到// Process [code] tag,這個(gè)是code UBB代碼的解析方法,替換為以下內(nèi)容:
注意:為避免解析,我把[]換成全角了
// 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,"&nbsp;").replace(/\:\/\//g,"&#58;//")) + "</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, "&#91;"));
}
}
return str;
}
修改global.asp文件
<link rel="stylesheet" type="text/css" href="<%=theCache.settings["styleSheet"]%>" />
<!--找到以上代碼段,以下面添加如下代碼即可。下面的代碼段為新添加內(nèi)容 -->
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>
把以下內(nèi)容放在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> © 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();
}
%>
最后保存文件,上傳到服務(wù)器就搞定了。
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]
轉(zhuǎn)自: http://blog.breakn.net/article.asp?id=349
下載地址:http://code.google.com/p/syntaxhighlighter/downloads/list
2、修改的文件
global.asp
class\ubbcode.asp
style\SyntaxHighlighter.css (新增加的代碼高亮CSS文件)
Scripts\ (新增加的文件夾,里面為相關(guān)代碼高亮的JS文件)
3、修改方法
首選把syntaxhighlighter下載到本地把里面的Scripts文件夾復(fù)制到你的blog根目錄下,把styles文件夾下的SyntaxHighlighter.css放到你blog的styles文件夾下。
接下來是修改文件,修改最主要的一個(gè)文件是class\ubbcode.asp
class\ubbcode.asp改動(dòng)內(nèi)容:
復(fù)制代碼
代碼如下:// Bring Back HTML New Line <br /> and Spaces
str=str.replace(/\n/g,"<br />");
str=str.replace(/\$nbsp\$/g,"&nbsp;");
//以上是本身就在的代碼段,以下是我新添加的代碼段,找對(duì)位置添加就可以了
//Break N add///////////////////////////////////////////////////////////2007-7-25 把代碼里的換行換成\n
str=str.replace(/\<CodeBR\>/g,"\n");
此文件還有一處改動(dòng),找到// Process [code] tag,這個(gè)是code UBB代碼的解析方法,替換為以下內(nèi)容:
注意:為避免解析,我把[]換成全角了
復(fù)制代碼
代碼如下:// 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,"&nbsp;").replace(/\:\/\//g,"&#58;//")) + "</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, "&#91;"));
}
}
return str;
}
修改global.asp文件
復(fù)制代碼
代碼如下:<link rel="stylesheet" type="text/css" href="<%=theCache.settings["styleSheet"]%>" />
<!--找到以上代碼段,以下面添加如下代碼即可。下面的代碼段為新添加內(nèi)容 -->
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>
把以下內(nèi)容放在function pageFooter()中:
復(fù)制代碼
代碼如下:<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部分完整的代碼添加效果示例
復(fù)制代碼
代碼如下:// 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> © 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();
}
%>
最后保存文件,上傳到服務(wù)器就搞定了。
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]
轉(zhuǎn)自: http://blog.breakn.net/article.asp?id=349
相關(guān)文章
- 這篇文章主要介紹了Fastadmin的安裝與使用方法,需要的朋友可以參考下2020-08-06
安裝FastAdmin時(shí)報(bào)1146 Table 'fastadmin.fa_admin' doesn't exist錯(cuò)誤
有部分小伙伴在安裝FastAdmin時(shí)報(bào)以下錯(cuò)誤,SQLSTATE[42S02]: Base table or view not found: 1146 Table 'fastadmin.fa_admin' doesn't exist2020-08-05UTF-8文件BOM信息自動(dòng)檢測(cè)和自動(dòng)清除源碼
BOM信息是文件開頭的一串隱藏的字符,用于讓某些編輯器識(shí)別這是個(gè)UTF-8編碼的文件,也編輯器自動(dòng)加上的這個(gè)會(huì)導(dǎo)致頁面頭部會(huì)出現(xiàn)一個(gè)空白行;如果是織夢(mèng)的程序也會(huì)引起驗(yàn)證2020-02-17- 在本篇文章里小編給大家整理的是關(guān)于蘋果cms采集插件安裝的步驟和方法,有需要的朋友們可以學(xué)習(xí)下。2019-12-05
- 在本篇文章里小編給大家整理的是關(guān)于蘋果cms添加播放器的方法步驟,對(duì)此有需要的朋友們可以學(xué)習(xí)下。2019-12-05
- 在本篇文章里小編給大家分享的是關(guān)于蘋果cms更換logo的方法和步驟,有需要的朋友們可以學(xué)習(xí)參考下。2019-12-05
- 在本篇文章里小編給大家整理的是關(guān)于海洋cms電影源碼安裝步驟方法以及相關(guān)知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)下。2019-12-05
- 在本篇文章里小編給大家整理的是關(guān)于蘋果CMS自適應(yīng)手模板設(shè)置方法,有需要的朋友們參考學(xué)習(xí)下。2019-12-05
- 在本篇文章里小編給大家整理的是關(guān)于蘋果海洋CMS自定義采集助手設(shè)置方法,有需要的朋友們學(xué)習(xí)下。2019-12-05
- 這篇文章主要為大家介紹了蘋果cms添加幻燈片的操作方法,步驟很簡(jiǎn)單,有需要的朋友們跟著操作下。2019-12-02