codehighlight.inc.php

サマリプログラムのソースコードを色分けして表示
リビジョン0.6.0
対応バージョン1.4.6
投稿者sky?
投稿日2004-10-29 (金) 04:13:15
ライセンスGPL

緊急: r0.3.0からr0.4.3.1までに脆弱性が見付かりました。 r0.4.3.2で修正したので至急乗り換えるようにお願い致します。

重要 : このプラグインは将来複数行のプラグイン引数の方式が大きく変更する可能性があります。仕様変更に追随できる方のみご試用ください。 PukiWiki 1.4.6 からプラグインへの複数行引数がオプションとして拡張されました。 標準ではOFFになっています。

開発に関する話は 開発サイト に移動しました。

リリースは引続きこのページで行います。

概要

プログラムのソースコードの中に含まれるキーワードとコメントを色分けして表示します。

PukiWikiPlus! にはプラグインへの複数行引数拡張と共にこのプラグインが同梱されています。

引用元

次の2つのサイトにあったハイライトを元にしています。 2つともサイトが消失してしまったようです。

最新版はコードが別の物に置き換わっています。 それぞれのサイトで尋ねないようにしてください。

このプラグインの製作関係者

ダウンロード

インストール

  • PukiWikiの設定ファイル(pukiwiki.ini.php)の下記の部分のように変更してください。
    define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0);
  • phpファイル (code.inc.phpと code/ 以下のファイル)
    をプラグインディレクトリ (デフォルトで pukiwiki/plugin) に置きます。
  • pngイメージファイル(code_dot.png, outline_open.png, outline_close.png) をイメージディレクトリ(デフォルトで pukiwiki/image) に置きます。
  • ファイル code.css と code.js をスキンディレクトリ(デフォルトで pukiwiki/skin) に置きます。
  • cssファイル (pukiwiki.css.php) に次の1行を追加します。
    @import "./code.css";
    • 挿入場所は@charsetの前後でないと無効です。
       if ($media != 'print') $media = 'screen';
      
      // Output CSS ----
      ?>
      @charset "<?php echo $charset ?>";
      @import "./code.css";
      
      pre, dl, ol, p, blockquote { line-height:130%; }
      
      blockquote { margin-left:32px; }
      
      body,td {

使い方

書式

ブロックプラグイン
#code[([言語名] {,[menu|nomenu], [number|nonumber], \
[outline|nooutline], [icon|noicon]}, ファイル名)|)]{{
ソースコード
}}
コマンド
?plugin=code &page=ページ名

ページに記述

#code[(言語名,オプション)]{{
ソースコード
}}

ファイル取り込み

#code([言語名][,オプション],ファイル名)
#code([言語名][,オプション],URL)

URLを指定して取り込む場合は ソース内に記述された制限を解除してください。

備考

ライセンス : GPL

pre.inc.php

共通のライブラリを使用するpre.inc.phpを同梱しました。

質問・コメント

  • 以前のコメントは./過去のコメントに移動しました。開発に関する話は./develop/Commentです。 -- sky?
  • 長らく閉鎖していたサイトをSourceForge.jpの提供にて復活させました。 -- sky? 2007-07-01 (日) 21:49:53
  • ブロックプラグインの書式例は、合ってるんですか? -- bc? 2007-01-05 (金) 16:03:49
    • ソースに「}}」があるとダメですね。ちょっと改造が必要ですね。 -- Matthew? 2007-03-10 (土) 15:12:58
    • ソースに「}}」がある場合は{{{ソース内容}}}と括りを増やせばいけるはず? -- 2007-03-10 (土) 15:26:23
    • lib/convert_html.php を読んでいたら括弧の数は幾つでもよいみたいですね。確かに増やすと表示されました。解決解決。ありがとうございました。 -- Matthew? 2007-03-10 (土) 15:33:44
  • code(delphi)を使うと、一行ずれてしまいます・・・。なんとかならいなかなー。サンプルがなぜか0から始まっているし・・・ -- 2007-04-08 (日) 15:37:28
  • code(ruby)もずれます。サンプルの方もなぜか、0からはじまってるようで・・・ -- 2007-04-08 (日) 15:47:03
  • code(c)だとエラーがでるのは何故・・・ -- Matthew? 2007-04-26 (木) 16:57:40
  • メンテ終了ですか?(´д`;)どなたか直しませんか?言いだしっぺの法則か・・・ -- 2007-06-21 (木) 03:35:49
  • google-code-prettify http://plaza.rakuten.co.jp/nobuvrooom/diary/200707120000/ -- 2007-07-13 (金) 02:25:10
  • 活動再開?pukiwiki全体に言えることだけど、コメントとかの古い情報をどこかに置いて、新しい情報のみにすると見やすくなるかも… -- 2007-12-03 (月) 03:44:01
  • phpのソースで、頭に「<?php」がついてない場合の特殊処理で、戻す処理の正規表現にマッチしないため勝手に「<?php ~ ?>」で囲まれてしまいます。$html = preg_replace('/(?:<span[^>]*><\?php <\/span>|<\?php )(.*)?(?:<span[^>]*>\?><\/span>|\?>)/m','$1',$html); -- 2007-12-08 (土) 13:56:18
  • 自作プラグイン/geshi.inc.php GeSHi を利用してソースコードを色分け表示する -- 2008-01-14 (月) 02:06:29
  • IE6でちゃんと表示されないのは何で?FireFoxだとちゃんと表示される -- 2008-05-07 (水) 10:39:50
  • ううぅぅ、脱帽でござりまする。 -- sky 2008-06-13 (金) 16:12:50
    • ありがとうございます。(上の書き込みはcode.inc.phpのskyと関係ありません。) -- sky? 2008-06-14 (金) 07:40:50
  • code_0_6_0_pr3i の code/codehighlight.php 1204行目 「isset($spaceHash[$code])」は「isset($htmlHash[$code])」の誤りかと。 -- ルーチェ? 2008-08-03 (日) 07:04:48
    • これを修正しないと、 #include <stdio.h> 等の <~> がHTMLタグとして扱われてしまい、表示されなくなります。 -- ルーチェ? 2008-08-03 (日) 07:07:24
  • ダウンロード先のリンクが切れてしまっているようですが、現在はどこからダウンロードできるでしょうか -- 2009-02-17 (火) 09:11:10
  • GPLとのことなので、上述のバグを修正してC++/CLIに対応させたものを配布してみます。 → http://www.ruche-home.net/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9#pukiwiki-code -- ルーチェ? 2009-11-09 (月) 06:56:39
    • ↑2009-11-13更新 -- PHP用ハイライト処理を全体的に修正。上で指摘されているバグも修正。 -- ルーチェ? 2009-11-13 (金) 04:29:15

添付ファイル: filecode_0_4_3_2.tgz 1848件 [詳細] filecode_0_4_3_1.tgz 1156件 [詳細] filecode_0_4_3.tgz 1139件 [詳細] filecode_0_4_2_1.tgz 1144件 [詳細] filecode_0_4_2.tgz 1131件 [詳細] filecode.css.0_4_1.diff 1018件 [詳細] filecode_0_4_1.tgz 1137件 [詳細] filecode_0_4_0.tgz 1264件 [詳細] filecode_0_3_5.tgz 1207件 [詳細] filecode_0_3_3.tgz 1099件 [詳細] filecode_0_3_2.tgz 1123件 [詳細] filecode_0_3_1.tgz 1138件 [詳細] filepre.inc.php.txt 1489件 [詳細] filepre.inc.php 1021件 [詳細] filecode_0_3_0.tgz 1145件 [詳細] filecode_0_2_8.tgz 1126件 [詳細] filecode_0_2_7.tgz 1148件 [詳細] filecodehighlight_0_2_6.zip 1144件 [詳細] filecodehighlight.inc.php_0_2_5 1089件 [詳細] filecodehighlight.inc.php_0_2_4 1229件 [詳細] filecodehighlight.inc.php_0_2_3 1066件 [詳細] filecodehighlight_0_2_new.zip 1131件 [詳細] filecodehighlight_0_2_2.zip 1094件 [詳細] filecodehighlight_0_2.tgz 1169件 [詳細] filecodehighlight_0_1.tgz 1126件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-17 (月) 19:20:41
Site admin: PukiWiki Development Team

PukiWiki 1.5.1+ © 2001-2016 PukiWiki Development Team. Powered by PHP 5.6.30-0+deb8u1. HTML convert time: 0.611 sec.

SourceForge.jp