2011年9月7日水曜日

SyntaxHighlighter

ホームページやブログ記事に貼り付けたソースコードを見やすく整形するためのオープンソースです。C++、C#、CSS、Delphi、Java、Java Script、PHP、Python、Ruby、Sql、VB、XML、HTML に対応しています。
サイト:
http://code.google.com/p/syntaxhighlighter/
ライセンス:
GNU Lesser GPL
言語:
JavaScript, CSS
使い方
プロジェクトページからダウンロードしたファイルを解凍すると、Scripts、Styles、Uncompressedと3つのディレクトリが作成されますが、Uncompressedディレクトリは解析用なので必要ありません。ScriptsとStyles ディレクトリをWebサーバーにアップロードします。

最初にソースコードを張り付けるHTML ページのhead セクションに次のように記述します。
<link type="text/css" rel="stylesheet" href="./Styles/SyntaxHighlighter.css"/>
<script language="javascript" src="./Scripts/shCore.js"></script>
<script language="javascript" src="./Scripts/shBrushCpp.js"></script>
<script language="javascript" src="./Scripts/shBrushCSharp.js"></script>
<script language="javascript" src="./Scripts/shBrushCss.js"></script>
<script language="javascript" src="./Scripts/shBrushDelphi.js"></script>
<script language="javascript" src="./Scripts/shBrushJava.js"></script>
<script language="javascript" src="./Scripts/shBrushJScript.js"></script>
<script language="javascript" src="./Scripts/shBrushPhp.js"></script>
<script language="javascript" src="./Scripts/shBrushPython.js"></script>
<script language="javascript" src="./Scripts/shBrushRuby.js"></script>
<script language="javascript" src="./Scripts/shBrushSql.js"></script>
<script language="javascript" src="./Scripts/shBrushVb.js"></script>
<script language="javascript" src="./Scripts/shBrushXml.js"></script>
SyntaxHighlighter.css、shCore.jsは必須です。他のJavaScriptファイルは、整形するソースコードに必要なものだけで良いです。言語ごとに必要なファイルは、ファイル名から予測できると思うので割愛します。

そして、整形するソースコードを記述し、pre タグで囲みます。
<pre class="c#" name="code">
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
</pre>
name 属性にcodeを設定し、class 属性でソースコードの言語を指定します。

最後に、</body>の手前に、次の JavaScript コードを記述して完成です。
<script language="javascript">
dp.SyntaxHighlighter.ClipboardSwf = './Scripts/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>

</body>
class 属性で指定できる言語とエイリアスは次のとおりです。

言語エイリアス
C++cpp, c, c++
C#c#, c-sharp, csharp
CSScss
Delphidelphi, pascal
Javajava
Java Scriptjs, jscript, javascript
PHPphp
Pythonpy, python
Rubyrb, ruby, rails, ror
Sqlsql
VBvb, vb.net
XML/HTMLxml, html, xhtml, xslt


0 件のコメント:

コメントを投稿