最終更新: 2008-12-18 (木) 00:38:54
このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

shjs.inc.php

サマリSHJS (Syntax Highlighting in JavaScript) を利用してソースコードを色分け表示する
リビジョン1.0
対応バージョン1.4.6 以降
作者revulo
ライセンスGPLv2

目次

概要

  • 様々な言語のソースコードを構文ハイライトして表示します
  • 内部で SHJS (Syntax Highlighting in JavaScript) を利用しています
  • 見た目を変更するためのテーマが約40種類用意されています
  • 約40種類の言語に対応しています
    • Bison
    • C
    • C++
    • C#
    • ChangeLog
    • CSS
    • Desktop files
    • Diff
    • Flex
    • GLSL
    • Haxe
    • HTML
    • Java
    • Java properties files
    • JavaScript
    • JavaScript with DOM
    • LaTeX
    • LDAP files
    • Log files
    • LSM (Linux Software Map) files
    • M4
    • Makefile
    • Objective Caml
    • Oracle SQL
    • Pascal
    • Perl
    • PHP
    • Prolog
    • Python
    • RPM spec files
    • Ruby
    • S-Lang
    • Scala
    • Shell
    • SQL
    • Standard ML
    • Tcl
    • XML
    • Xorg configuration files

サンプル

PHP のコードを構文ハイライトして表示した例を以下に示します。

 

テーマを選択して下さい:

<?php

/**
 * phphighlight.inc.php - Syntax highlighting using highlight_string() function
 *
 * @author      revulo
 * @licence     http://www.gnu.org/licenses/gpl.html  GPLv2
 * @link        http://www.revulo.com/PukiWiki/Plugin/PHPHighlight.html
 */

function plugin_phphighlight_convert()
{
    $args   = func_get_args();
    $source = rtrim(end($args));
    $html   = highlight_string($source, true);

    $before = array(
        ">\n<",
        '<font color="',
        'font>',
        'code>',
    );
    $after = array(
        '><',
        '<span style="color: ',
        'span>',
        'pre>',
    );
    return str_replace($before, $after, $html);
}

?>

インストール

SHJS のページ からアーカイブをダウンロードし、PukiWiki の skin ディレクトリで展開します。 ディレクトリ名は shjs にリネームしておいて下さい。

$ cd skin
$ unzip shjs-0.6.zip
$ mv shjs-0.6 shjs

shjs.inc.php プラグインのアーカイブファイルをダウンロードし、 PukiWiki をインストールしてあるディレクトリで展開します。

$ tar xvfz shjs-1.0.tar.gz

あとは pukiwiki.ini.php の設定を以下のように変更して下さい。

define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0);

使い方

書式は次のようになっています。

#shjs(言語名){{
  ……
  ソースコード
  ……
}}
  • 言語名は大文字でも小文字でも構いません
  • 言語名を指定しなかった場合や、未サポートの言語の場合は、単なる整形済みテキストとして表示されます

設定

shjs.inc.php の先頭部分で以下の値を設定することで、動作をカスタマイズできます。

PLUGIN_SHJS_LIB_URI
SHJS がインストールされているディレクトリ
PLUGIN_SHJS_CSS
使用するテーマのファイル名

shjs/css ディレクトリに多数のテーマが用意されているので、 好みのものを PLUGIN_SHJS_CSS に指定して下さい。

ダウンロード

更新履歴

  • Version 1.0 (2007/08/16)
    • 初公開

備考

同様の機能を持つプラグインが他にもあるのでまとめておきます。

プラグイン名使用ライブラリ
geshi.inc.phpGeSHi (PHP)
highlighter.inc.phpPEAR::Text_Highlighter (PHP)
prettify.inc.phpgoogle-code-prettify (JavaScript)
shjs.inc.phpSHJS (JavaScript)
codehighlight.inc.php独自に実装 (PHP)
highlight.inc.phpSyntaxHighlighter (JavaScript)

(Counter:1, Today:1, Yesterday:0)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   最終更新のRSS