原名:SyntaxHighlighter,是一款用于web頁(yè)面的代碼著色工具,可以用來(lái)著色多種語(yǔ)言,可以是HTML,CSS,Javascript,還可以是C,JAVA等編程語(yǔ)言。最早見(jiàn)于Yahoo的YUI,當(dāng)時(shí)還屬于自由軟件,最近打開(kāi)官方網(wǎng)站發(fā)現(xiàn)已被goolge收編。
它可以在網(wǎng)頁(yè)中對(duì)各種程序源代碼語(yǔ)法進(jìn)行加亮顯示。支持當(dāng)前流行的各種編程語(yǔ)言:C#、CSS、C++、Delphi、Java、JavaScript、PHP、Python、Ruby、SQL、Visual Basic、XML / HTML
下載地址:http://www.dreamprojections.com/syntaxhighlighter/
或http://code.google.com/p/syntaxhighlighter/
該工具核心基于javascript,使用起來(lái)很簡(jiǎn)單:
1、假設(shè)網(wǎng)頁(yè)文件test.htm存放在一個(gè)目錄,將dp.SyntaxHighlighter解壓縮,并復(fù)制其中的Scripts文件夾和styles文件夾,確保和test.html在同一個(gè)目錄下面。
2、在網(wǎng)頁(yè)的<head></head>之間插入以下代碼:
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>
3、在網(wǎng)頁(yè)要顯示程序源代碼的地方插入以下代碼,若是HTML類(lèi)型的話,用XML(其它的如class="js"表示以js語(yǔ)法顯示源代碼,其他可設(shè)定的class值分別為c#、css、c、elphi、java、js、php、python、ruby、sql、vb、xml):
<textarea name="code" class="js" rows="15" cols="100">
程序源代碼放在這兒
</textarea>
說(shuō)明:
name="code"是必須的,不能更改;
class="xml"是著色的方式,即需要著色的代碼的類(lèi)型,根據(jù)需要進(jìn)行更改。
4、在網(wǎng)頁(yè)尾部的</body>之前插入以下代碼:
一個(gè)頁(yè)面里面可以包含任意多個(gè)需要著色的代碼段;
壓縮包中有各種著色代碼類(lèi)型的著色案例,大家可以參照使用。
方法二:
1. 首先在頁(yè)面上添加如下代碼(假設(shè)下載后的SyntaxHighlighter放在SyntaxHighlighter目錄下面,注意目錄結(jié)構(gòu)):
<link type= "text/css" rel= "stylesheet" href= "SyntaxHighlighter/Styles/SyntaxHighlighter.css" ></link> <script language= "javascript" src= "SyntaxHighlighter/Scripts/shCore.js" ></script> <script language= "javascript" src= "SyntaxHighlighter/Scripts/shBrushCSharp.js" ></script> <script language= "javascript" src= "SyntaxHighlighter/Scripts/shBrushXml.js" ></script> <script language= "javascript" > window.onload = function () { dp.SyntaxHighlighter.ClipboardSwf = 'SyntaxHighlighter/Scripts/clipboard.swf' ; dp.SyntaxHighlighter.HighlightAll( 'code' ); } </script> |
官方的安裝中沒(méi)有window.onload,我想這個(gè)還是需要的,畢竟,頁(yè)面加載的時(shí)候我就需要給代碼著色。
2. 使用方法如下:
方法一:使用pre
<pre name="code" class="c-sharp">
... some code here ...
</pre>
方法二:使用textarea
<textarea name="code" class="c#" cols="60" rows="10">
... some code here ...
</textarea>
另外,這里還有一些高級(jí)特性的設(shè)置方法可供參考,諸如代碼折疊等。
來(lái)自:http://baijinshan.javaeye.com/blog/547477
聯(lián)系客服