| サマリ | SHJS (Syntax Highlighting in JavaScript) を利用してソースコードを色分け表示する |
|---|---|
| リビジョン | 1.0 |
| 対応バージョン | 1.4.6 以降 |
| 作者 | revulo |
| ライセンス | GPLv2 |
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 の先頭部分で以下の値を設定することで、動作をカスタマイズできます。
shjs/css ディレクトリに多数のテーマが用意されているので、 好みのものを PLUGIN_SHJS_CSS に指定して下さい。
同様の機能を持つプラグインが他にもあるのでまとめておきます。
| プラグイン名 | 使用ライブラリ |
| geshi.inc.php | |
| highlighter.inc.php | |
| prettify.inc.php | |
| shjs.inc.php | |
| 独自に実装 (PHP) | |