[JavaScript] SyntaxHighlighter を利用したWebページでのソースコードのカラーリング
このページのタグ:[JavaScript] [SyntaxHighliter3] [コードハイライト]
SyntaxHighlighter を利用してWebページでソースコードをカラーリング表示します。

SyntaxHighlighter のダウンロード

SyntaxHighlighter のサイト(http://alexgorbatchev.com/SyntaxHighlighter/)にアクセスします。


右側の[download]リンクをクリックします。下図の画面が表示されます。[Click here to download]リンクをクリックするとSyntaxHighlighter のファイル一式をZIP形式でダウンロードできます。~


ZIPファイルがダウンロードできました。

導入と実装

ZIPファイルを展開します。下図の内容が展開されます。


展開されたファイルを設置します。今回は、アプリケーションルートの下に"syntaxhighlighter"ディレクトリを作成し、その中に配置しました。



HTMLファイルの作成

下記のHTMLファイルを作成します。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title></title>
  <meta charset="utf-8" />

  <script type="text/javascript" src="syntaxhighlighter/scripts/shCore.js"></script>
  <script type="text/javascript" src="syntaxhighlighter/scripts/shBrushCSharp.js"></script>
  <link href="syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
  <link href="syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />

</head>
<body>

  コードは下記です。<br/>
<pre class="brush: csharp">
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace ArrayDemo
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }
 
    private void button1_Click(object sender, EventArgs e)
    {
      int[] array = new int[5];
      array[0] = 10;
      array[1] = 5;
      array[2] = 8;
      array[3] = 2;
      array[4] = 4;
 
      for (int i=0; i < array.Length; i++) {
        textBox1.Text += "value["+i.ToString()+"] " + Convert.ToString(array[i])+"\r\n";
      }
    }
  }
}
</pre>

  コードは以上です。<br/>

  <script type="text/javascript">
     SyntaxHighlighter.all()
  </script>

</body>
</html>

解説

ヘッダ内の下記のコードにより、SyntaxHighlighterのJavaScriptのコードを読み込みます。今回はC#のコードをカラーリングするため"shBrushCsharp.js"ファイルを読み込みます。スタイルはデフォルトのものを利用するため、"shCore.css"と"shThemeDefault.css"を読み込みます。

  <script type="text/javascript" src="syntaxhighlighter/scripts/shCore.js"></script>
  <script type="text/javascript" src="syntaxhighlighter/scripts/shBrushCSharp.js"></script>
  <link href="syntaxhighlighter/styles/shCore.css" rel="stylesheet" type="text/css" />
  <link href="syntaxhighlighter/styles/shThemeDefault.css" rel="stylesheet" type="text/css" />

ソースコードは、Preタグで囲みます。classに"brush:csharp"を指定することで、C#のコードとしてカラーリングします。

using System;
using System.Collections;
(中略...)
}

SyntaxHighlighter.all()メソッドを呼び出し、コードのカラーリングをします。all()メソッドを呼び出すことで、JavaScriptでカラーリングする処理を開始します。

<script type="text/javascript">
   SyntaxHighlighter.all()
</script>

実行結果

上記のHTMLファイルをWebブラウザで表示すると下図の表示結果となります。


登録日 :2016-05-21    最終更新日 :2016-10-11
このページのタグ:[JavaScript] [SyntaxHighliter3] [コードハイライト]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)