サマリ | 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 | GeSHi (PHP) |
highlighter.inc.php | PEAR::Text_Highlighter (PHP) |
prettify.inc.php | google-code-prettify (JavaScript) |
shjs.inc.php | SHJS (JavaScript) |
codehighlight.inc.php | 独自に実装 (PHP) |
highlight.inc.php | SyntaxHighlighter (JavaScript) |