自作プラグイン/codehighlight.inc.php
の編集
Top
/
自作プラグイン
/
codehighlight.inc.php
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
** codehighlight.inc.php [#i023183a] |RIGHT:100|LEFT:360|c |~サマリ|プログラムのソースコードを色分けして表示| |~リビジョン|0.6.1| |~対応バージョン|1.5.4, 1.4.6| |~投稿者|[[sky]]| |~投稿日|&new{2004-10-29 (金) 04:13:15};| |~ライセンス|GPL| #contents &color(Red){緊急};: r0.3.0からr0.4.3.1までに脆弱性が見付かりました。 r0.4.3.2で修正したので至急乗り換えるようにお願い致します。 ''重要'' : %%このプラグインは将来複数行のプラグイン引数の方式が大きく変更する可能性があります。仕様変更に追随できる方のみご試用ください。%% PukiWiki 1.4.6 から[[プラグインへの複数行引数がオプション>dev:PukiWiki/1.4/ちょっと便利に/複数行のプラグイン引数を可能に]]として拡張されました。 標準ではOFFになっています。 開発に関する話は [[開発サイト>Code.dev:Code]] に移動しました。 リリースは引続きこのページで行います。 *概要 [#icfa3313] プログラムのソースコードの中に含まれるキーワードとコメントを色分けして表示します。 [[PukiWikiPlus!>plus:FrontPage]] にはプラグインへの複数行引数拡張と共にこのプラグインが同梱されています。 **引用元 [#jc05bb2b] 次の2つのサイトにあったハイライトを元にしています。 2つともサイトが消失してしまったようです。 //-[[D言語/PukiWiki/ハイライト:http:// moephp.org/?D%B8%C0%B8%EC%2FPukiWiki%2F%A5%CF%A5%A4%A5%E9%A5%A4%A5%C8]] //-[[Forum/KiscWiki:http:// black.rainy.jp/kiscwiki/index.php?Forum%2FKiscWiki]] 最新版はコードが別の物に置き換わっています。 それぞれのサイトで尋ねないようにしてください。 **このプラグインの製作関係者 [#lff4a565] -[[sky]] -sakurai: http:// www.wikiroom.com/sakurai/ -[[アクア]] *ダウンロード [#xed6882d] -%% http://briefcase.yahoo.co.jp/sky20050724/ %% -- [[Code.dev:Code/BugTrack/83]] の添付ファイル ** PHP8対応版 byはいふん [#idc5ee5d] 使い方は本家とほぼ同様です。 ルーチェ様が更新してくださったものを更にPukiWiki1.5とPHP8に対応させてみました。 - code.inc.php(v0.6.1): [[github.com:hai-fun/pukiwiki/raw/main/plugins/code/codeplugin_0.6.1.zip]] *** 変更箇所 [#ge2ae9a0] - 定義PLUGIN_CODE_LANG_ALIASで言語名のエイリアスを設定できるようにしました。 - PHP8への対応 - PukiWiki 1.5.xへの対応 - UTF-8化 *インストール [#c03fa957] -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 { *使い方 [#w7481581] **書式 [#f67ba357] :ブロックプラグイン| #code[([言語名] {,[menu|nomenu], [number|nonumber], \ [outline|nooutline], [icon|noicon]}, ファイル名)|)]{{ ソースコード }} :コマンド| ?plugin=code &page=ページ名 **ページに記述 [#q856cc91] #code[(言語名,オプション)]{{ ソースコード }} **ファイル取り込み [#yc6271e5] #code([言語名][,オプション],ファイル名) #code([言語名][,オプション],URL) URLを指定して取り込む場合は ソース内に記述された制限を解除してください。 *備考 [#sf1536ea] ライセンス : GPL -[[マニュアル>Code.dev:Code/Man]] -[[サンプル一覧>Code.dev:Code/Sample]] -[[最新の更新内容>Code.dev:Code/更新履歴/Latest]] -[[BugTrack>Code.dev:Code/BugTrack]] **pre.inc.php [#f7c6d74d] 共通のライブラリを使用する[[pre.inc.php>Code.dev:Pre]]を同梱しました。 *質問・コメント [#ldbf83e3] -以前のコメントは[[./過去のコメント]]に移動しました。開発に関する話は[[./develop/Comment]]です。 -- [[sky]] -長らく閉鎖していたサイトをSourceForge.jpの提供にて復活させました。 -- [[sky]] &new{2007-07-01 (日) 21:49:53}; - ブロックプラグインの書式例は、合ってるんですか? -- [[bc]] &new{2007-01-05 (金) 16:03:49}; -- ソースに「}}」があるとダメですね。ちょっと改造が必要ですね。 -- [[Matthew]] &new{2007-03-10 (土) 15:12:58}; -- ソースに「}}」がある場合は{{{ソース内容}}}と括りを増やせばいけるはず? -- &new{2007-03-10 (土) 15:26:23}; -- lib/convert_html.php を読んでいたら括弧の数は幾つでもよいみたいですね。確かに増やすと表示されました。解決解決。ありがとうございました。 -- [[Matthew]] &new{2007-03-10 (土) 15:33:44}; - code(delphi)を使うと、一行ずれてしまいます・・・。なんとかならいなかなー。サンプルがなぜか0から始まっているし・・・ -- &new{2007-04-08 (日) 15:37:28}; - code(ruby)もずれます。サンプルの方もなぜか、0からはじまってるようで・・・ -- &new{2007-04-08 (日) 15:47:03}; - code(c)だとエラーがでるのは何故・・・ -- [[Matthew]] &new{2007-04-26 (木) 16:57:40}; - メンテ終了ですか?(´д`;)どなたか直しませんか?言いだしっぺの法則か・・・ -- &new{2007-06-21 (木) 03:35:49}; - google-code-prettify http:// plaza.rakuten.co.jp/nobuvrooom/diary/200707120000/ -- &new{2007-07-13 (金) 02:25:10}; - 活動再開?pukiwiki全体に言えることだけど、コメントとかの古い情報をどこかに置いて、新しい情報のみにすると見やすくなるかも… -- &new{2007-12-03 (月) 03:44:01}; - phpのソースで、頭に「<?php」がついてない場合の特殊処理で、戻す処理の正規表現にマッチしないため勝手に「<?php ~ ?>」で囲まれてしまいます。$html = preg_replace('/(?:<span[^>]*><\?php <\/span>|<\?php )(.*)?(?:<span[^>]*>\?><\/span>|\?>)/m','$1',$html); -- &new{2007-12-08 (土) 13:56:18}; - [[自作プラグイン/geshi.inc.php]] GeSHi を利用してソースコードを色分け表示する -- &new{2008-01-14 (月) 02:06:29}; - IE6でちゃんと表示されないのは何で?FireFoxだとちゃんと表示される -- &new{2008-05-07 (水) 10:39:50}; - ううぅぅ、脱帽でござりまする。 -- sky &new{2008-06-13 (金) 16:12:50}; -- ありがとうございます。(上の書き込みはcode.inc.phpのskyと関係ありません。) -- [[sky]] &new{2008-06-14 (金) 07:40:50}; - code_0_6_0_pr3i の code/codehighlight.php 1204行目 「isset($spaceHash[$code])」は「isset($htmlHash[$code])」の誤りかと。 -- [[ルーチェ]] &new{2008-08-03 (日) 07:04:48}; -- これを修正しないと、 #include <stdio.h> 等の <~> がHTMLタグとして扱われてしまい、表示されなくなります。 -- [[ルーチェ]] &new{2008-08-03 (日) 07:07:24}; - ダウンロード先のリンクが切れてしまっているようですが、現在はどこからダウンロードできるでしょうか -- &new{2009-02-17 (火) 09:11:10}; -- [[Code.dev:Code/BugTrack/83]] -- &new{2009-05-02 (土) 15:14:01}; - GPLとのことなので、上述のバグを修正してC++/CLIに対応させたものを配布してみます。 → http:// www.ruche-home.net/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9#pukiwiki-code -- [[ルーチェ]] &new{2009-11-09 (月) 06:56:39}; -- ↑2009-11-13更新 -- PHP用ハイライト処理を全体的に修正。上で指摘されているバグも修正。 -- [[ルーチェ]] &new{2009-11-13 (金) 04:29:15}; - code,codehighlightプラグインの代替: [[自作プラグイン/code_x.inc.php#code_alternatives]] -- [[umorigu]] &new{2021-07-12 (月) 00:39:18}; - PukiWiki 1.5.4 RC2&PHP8へ対応させてみました。 -- [[はいふん]] &new{2021-12-17 (金) 22:21:20}; #comment
** codehighlight.inc.php [#i023183a] |RIGHT:100|LEFT:360|c |~サマリ|プログラムのソースコードを色分けして表示| |~リビジョン|0.6.1| |~対応バージョン|1.5.4, 1.4.6| |~投稿者|[[sky]]| |~投稿日|&new{2004-10-29 (金) 04:13:15};| |~ライセンス|GPL| #contents &color(Red){緊急};: r0.3.0からr0.4.3.1までに脆弱性が見付かりました。 r0.4.3.2で修正したので至急乗り換えるようにお願い致します。 ''重要'' : %%このプラグインは将来複数行のプラグイン引数の方式が大きく変更する可能性があります。仕様変更に追随できる方のみご試用ください。%% PukiWiki 1.4.6 から[[プラグインへの複数行引数がオプション>dev:PukiWiki/1.4/ちょっと便利に/複数行のプラグイン引数を可能に]]として拡張されました。 標準ではOFFになっています。 開発に関する話は [[開発サイト>Code.dev:Code]] に移動しました。 リリースは引続きこのページで行います。 *概要 [#icfa3313] プログラムのソースコードの中に含まれるキーワードとコメントを色分けして表示します。 [[PukiWikiPlus!>plus:FrontPage]] にはプラグインへの複数行引数拡張と共にこのプラグインが同梱されています。 **引用元 [#jc05bb2b] 次の2つのサイトにあったハイライトを元にしています。 2つともサイトが消失してしまったようです。 //-[[D言語/PukiWiki/ハイライト:http:// moephp.org/?D%B8%C0%B8%EC%2FPukiWiki%2F%A5%CF%A5%A4%A5%E9%A5%A4%A5%C8]] //-[[Forum/KiscWiki:http:// black.rainy.jp/kiscwiki/index.php?Forum%2FKiscWiki]] 最新版はコードが別の物に置き換わっています。 それぞれのサイトで尋ねないようにしてください。 **このプラグインの製作関係者 [#lff4a565] -[[sky]] -sakurai: http:// www.wikiroom.com/sakurai/ -[[アクア]] *ダウンロード [#xed6882d] -%% http://briefcase.yahoo.co.jp/sky20050724/ %% -- [[Code.dev:Code/BugTrack/83]] の添付ファイル ** PHP8対応版 byはいふん [#idc5ee5d] 使い方は本家とほぼ同様です。 ルーチェ様が更新してくださったものを更にPukiWiki1.5とPHP8に対応させてみました。 - code.inc.php(v0.6.1): [[github.com:hai-fun/pukiwiki/raw/main/plugins/code/codeplugin_0.6.1.zip]] *** 変更箇所 [#ge2ae9a0] - 定義PLUGIN_CODE_LANG_ALIASで言語名のエイリアスを設定できるようにしました。 - PHP8への対応 - PukiWiki 1.5.xへの対応 - UTF-8化 *インストール [#c03fa957] -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 { *使い方 [#w7481581] **書式 [#f67ba357] :ブロックプラグイン| #code[([言語名] {,[menu|nomenu], [number|nonumber], \ [outline|nooutline], [icon|noicon]}, ファイル名)|)]{{ ソースコード }} :コマンド| ?plugin=code &page=ページ名 **ページに記述 [#q856cc91] #code[(言語名,オプション)]{{ ソースコード }} **ファイル取り込み [#yc6271e5] #code([言語名][,オプション],ファイル名) #code([言語名][,オプション],URL) URLを指定して取り込む場合は ソース内に記述された制限を解除してください。 *備考 [#sf1536ea] ライセンス : GPL -[[マニュアル>Code.dev:Code/Man]] -[[サンプル一覧>Code.dev:Code/Sample]] -[[最新の更新内容>Code.dev:Code/更新履歴/Latest]] -[[BugTrack>Code.dev:Code/BugTrack]] **pre.inc.php [#f7c6d74d] 共通のライブラリを使用する[[pre.inc.php>Code.dev:Pre]]を同梱しました。 *質問・コメント [#ldbf83e3] -以前のコメントは[[./過去のコメント]]に移動しました。開発に関する話は[[./develop/Comment]]です。 -- [[sky]] -長らく閉鎖していたサイトをSourceForge.jpの提供にて復活させました。 -- [[sky]] &new{2007-07-01 (日) 21:49:53}; - ブロックプラグインの書式例は、合ってるんですか? -- [[bc]] &new{2007-01-05 (金) 16:03:49}; -- ソースに「}}」があるとダメですね。ちょっと改造が必要ですね。 -- [[Matthew]] &new{2007-03-10 (土) 15:12:58}; -- ソースに「}}」がある場合は{{{ソース内容}}}と括りを増やせばいけるはず? -- &new{2007-03-10 (土) 15:26:23}; -- lib/convert_html.php を読んでいたら括弧の数は幾つでもよいみたいですね。確かに増やすと表示されました。解決解決。ありがとうございました。 -- [[Matthew]] &new{2007-03-10 (土) 15:33:44}; - code(delphi)を使うと、一行ずれてしまいます・・・。なんとかならいなかなー。サンプルがなぜか0から始まっているし・・・ -- &new{2007-04-08 (日) 15:37:28}; - code(ruby)もずれます。サンプルの方もなぜか、0からはじまってるようで・・・ -- &new{2007-04-08 (日) 15:47:03}; - code(c)だとエラーがでるのは何故・・・ -- [[Matthew]] &new{2007-04-26 (木) 16:57:40}; - メンテ終了ですか?(´д`;)どなたか直しませんか?言いだしっぺの法則か・・・ -- &new{2007-06-21 (木) 03:35:49}; - google-code-prettify http:// plaza.rakuten.co.jp/nobuvrooom/diary/200707120000/ -- &new{2007-07-13 (金) 02:25:10}; - 活動再開?pukiwiki全体に言えることだけど、コメントとかの古い情報をどこかに置いて、新しい情報のみにすると見やすくなるかも… -- &new{2007-12-03 (月) 03:44:01}; - phpのソースで、頭に「<?php」がついてない場合の特殊処理で、戻す処理の正規表現にマッチしないため勝手に「<?php ~ ?>」で囲まれてしまいます。$html = preg_replace('/(?:<span[^>]*><\?php <\/span>|<\?php )(.*)?(?:<span[^>]*>\?><\/span>|\?>)/m','$1',$html); -- &new{2007-12-08 (土) 13:56:18}; - [[自作プラグイン/geshi.inc.php]] GeSHi を利用してソースコードを色分け表示する -- &new{2008-01-14 (月) 02:06:29}; - IE6でちゃんと表示されないのは何で?FireFoxだとちゃんと表示される -- &new{2008-05-07 (水) 10:39:50}; - ううぅぅ、脱帽でござりまする。 -- sky &new{2008-06-13 (金) 16:12:50}; -- ありがとうございます。(上の書き込みはcode.inc.phpのskyと関係ありません。) -- [[sky]] &new{2008-06-14 (金) 07:40:50}; - code_0_6_0_pr3i の code/codehighlight.php 1204行目 「isset($spaceHash[$code])」は「isset($htmlHash[$code])」の誤りかと。 -- [[ルーチェ]] &new{2008-08-03 (日) 07:04:48}; -- これを修正しないと、 #include <stdio.h> 等の <~> がHTMLタグとして扱われてしまい、表示されなくなります。 -- [[ルーチェ]] &new{2008-08-03 (日) 07:07:24}; - ダウンロード先のリンクが切れてしまっているようですが、現在はどこからダウンロードできるでしょうか -- &new{2009-02-17 (火) 09:11:10}; -- [[Code.dev:Code/BugTrack/83]] -- &new{2009-05-02 (土) 15:14:01}; - GPLとのことなので、上述のバグを修正してC++/CLIに対応させたものを配布してみます。 → http:// www.ruche-home.net/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9#pukiwiki-code -- [[ルーチェ]] &new{2009-11-09 (月) 06:56:39}; -- ↑2009-11-13更新 -- PHP用ハイライト処理を全体的に修正。上で指摘されているバグも修正。 -- [[ルーチェ]] &new{2009-11-13 (金) 04:29:15}; - code,codehighlightプラグインの代替: [[自作プラグイン/code_x.inc.php#code_alternatives]] -- [[umorigu]] &new{2021-07-12 (月) 00:39:18}; - PukiWiki 1.5.4 RC2&PHP8へ対応させてみました。 -- [[はいふん]] &new{2021-12-17 (金) 22:21:20}; #comment
テキスト整形のルールを表示する
添付ファイル:
code_0_4_3_2.tgz
2344件
[
詳細
]
code_0_4_3_1.tgz
1653件
[
詳細
]
code_0_4_3.tgz
1614件
[
詳細
]
code_0_4_2_1.tgz
1666件
[
詳細
]
code_0_4_2.tgz
1637件
[
詳細
]
code.css.0_4_1.diff
1500件
[
詳細
]
code_0_4_1.tgz
1637件
[
詳細
]
code_0_4_0.tgz
1720件
[
詳細
]
code_0_3_5.tgz
1706件
[
詳細
]
code_0_3_3.tgz
1577件
[
詳細
]
code_0_3_2.tgz
1594件
[
詳細
]
code_0_3_1.tgz
1609件
[
詳細
]
pre.inc.php.txt
2371件
[
詳細
]
pre.inc.php
1603件
[
詳細
]
code_0_3_0.tgz
1612件
[
詳細
]
code_0_2_8.tgz
1574件
[
詳細
]
code_0_2_7.tgz
1540件
[
詳細
]
codehighlight_0_2_6.zip
1484件
[
詳細
]
codehighlight.inc.php_0_2_5
1441件
[
詳細
]
codehighlight.inc.php_0_2_4
1555件
[
詳細
]
codehighlight.inc.php_0_2_3
1365件
[
詳細
]
codehighlight_0_2_new.zip
1413件
[
詳細
]
codehighlight_0_2_2.zip
1376件
[
詳細
]
codehighlight_0_2.tgz
1515件
[
詳細
]
codehighlight_0_1.tgz
1460件
[
詳細
]