文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2022-06-12 02:22

关注

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/">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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-开源
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯