ページの作成や編集にはユーザ登録が必要です。
コード整形プラグイン(ソースコードを色付けして表示)
- 投稿者: KG
- カテゴリ: 新規
- 優先度: 普通
- 状態: 提案
- 日時: 2005年05月11日 20時12分11秒
内容
プログラム・ソースコードやテキスト文字列等をHTMLで色づけして表示します。
重要事項
このプラグインを利用するには 複数行プラグイン・パッチ を適用する必要があります。
codeplugin_20050511.zipをダウンロードされた方は最新版に置き換えてください。
インストール
添付ファイルを解凍し、各ディレクトリに展開してください。また、プラグイン設定画面で code を有効にしてください。
※添付ファイル内に codeplugin.css というスタイルシートを用意しています。codeplugin.css内ののスタイル記述を自サイトのスタイルに追加してください。
利用方法
以下のようにして利用します。
直接コード入力時の利用方法
コード・プラグインのブロック要素内に直接コードを記入します。
{{code コード種別[,タブ桁数[,開始行番号[,WIDTHxHEIGHT]]] 〜 コード 〜 }}
- 開始行番号を"0"またはfalseにすると行番号を表示しません。
- WIDTHxHEIGHT は 600 とだけ記入すると幅(style="width;600")だけ指定されます。
添付ファイル指定による利用方法
code_refによる添付ファイル名を指定したパラグラフ・プラグインとして指定します。
{{code_ref 添付ファイル名[:文字コード],ページ,コード種別[,タブ桁数[,開始行番号[,WIDTHxHEIGHT]]]}}
コード整形モジュールの対応状況
現在、以下のソースコードの整形に対応しています。私自身が必要とするものは、今後も積極的に作成していくつもりです。
種別 | 更新日 | コメント |
---|---|---|
Text | ----/--/-- | PREの代わりに使用するものです。従来のFSWikiでは、先頭に半角空白を用いるものの置き換えとなります。 |
HTML | ----/--/-- | HTMLソースコード用です。 |
Java | ----/--/-- | Javaソースコードを用です。 |
Perl | ----/--/-- | Perlソースコード用です。 |
FSWiki | ----/--/-- | FSWiki表記のソースコード用です。 |
Diff | 2005/10/24 | Diff出力結果のコード用です。参照:サンプル、ダウンロード |
JScriptNET | 2005/09/04 | JScript.NETソースコード用です。 |
CSharp | 2006/01/30 | C#ソースコード用です。参照:ダウンロード |
他のコード整形モジュールは気が向いたら作成します。それ以外はどなたか作成してください。m(__)m
また、添付されたコード整形モジュールはソースが結構汚いです(笑)。したがって、改変/改良/整理等は大歓迎です。修正された場合は、こちらにアップしてくださるとうれしいです。
ライセンス
GPLでお願いします。
サンプル
下記リンク先でサンプルを見ることが出来ます。
更新履歴
- 2005/05/11 - ファイルが存在しません。
- 初期リリース
- 2005/07/13 - codeplugin_20050713.zip(669)
- Code.pmに対する脆弱性の修正
- 2005/09/04 - codeplugin_20050904.zip(703)
- 開始行番号指定に対応(typerさんパッチ提供)
- JScript.NETの整形モジュールを追加
- 2005/11/14 - codeplugin_20051114.zip(960)
- number_takeover.patchの取込(typerさんパッチ提供)
- ref_codeで添付ファイルの文字コード指定に対応
- 添付ファイルの文字コードを指定した場合は、eucに変換して表示します。
コメント
- 脆弱性が発覚した為、一時公開を停止します。修正後再度アップします。ご報告ありがとうございます。 - KG (2005年07月13日 01時14分15秒)
- 修正しました。 - KG (2005年07月13日 01時41分50秒)
- 開始行番号指定に対応しました。また、JScript.NETの整形モジュールを追加しました。今後、他の.NET言語にも徐々に対応していくかもしれません。 - KG (2005年09月04日 03時25分27秒)
- codeプラグインが複数ある場合に、前の行番号を引き継げる様にするパッチを作りましたnumber_takeover.patch(689) - typer (2005年10月16日 23時43分44秒)
- まだ、テスト中ですがDiff出力結果への対応を始めました。typerさん、投稿されたパッチを次回バージョンアップ時に取り込ませていただきます。(^^; - KG (2005年10月24日 02時23分06秒)
- ありがたく使わせていただいております。引数追加などのオプションで <ol class="code" start="開始番号"><li>開始行</li>…</ol>もできると表現方法が多彩になりそうです。 - A_M (2005年10月25日 14時10分44秒)
- これは、code_ref の方ですかね?確かに、開始行というのもいいかもしれませんが、パラメータの順番が変わると互換性が問題にもなりかねませんね。WIDTHxHEIGHTパラメータって皆さん使ってます?使われている方がいないようでしたら変更を考慮します。 - KG (2005年10月25日 23時23分43秒)
- WIDTHxHEIGHT使ってないですけど、olも使わないかなぁ。テーブル要素は好きじゃないけど、これに関しては行番号つけても普通にコピペ出来るのがよかったりする。 - typer (2005年10月26日 21時40分42秒)
- ↑あくまで個人的感想 - typer (2005年10月26日 21時42分00秒)
- WIDTHxHEIGHTを使わず<ol>で纏めてます。…確かにコピペを考えたときは、IEの場合は行末にスペースが、Firefoxの場合は行頭に行番号が付いちゃうんですよね。テキストエディタのBOX編集などを使わないと使えないのが欠点かも。(タブを に変更してる都合かもしれません) - A_M (2005年10月26日 22時41分59秒)
- ol タグやtableタグによる全行の分割(これは別の問題もあったので・・・)を当初考慮していたのですが、綺麗にコピペできないので却下し、現在の形式に落ち着きました。そういえば、div タグに float:left でくっつけるという方法もありますね。ちなみに私は table 派だったりします(笑)。div タグは PDAや携帯等に搭載されているブラウザー等で正常に表示できない(ズレが生じる)ことがあるので・・・。 - KG (2005年10月27日 01時21分58秒)
- number_takeover.patchの取込と、ref_codeの添付ファイルに対する文字コード変換に対応しました。 - KG (2005年11月14日 11時22分14秒)
- CSharp.pm を作成しました。ダウンロードは上記「対応状況」のリンク先よりお願いします。 - KG (2006年01月30日 13時00分20秒)
- themeフォルダってlibの中でいいんですよね? - aya (2006年09月14日 10時56分03秒)
- あれっ?今、確認したら添付ファイル内のディレクトリ階層が変ですね(汗)。themeフォルダは特に関係ないのですが・・・。実際には codeplugin.css 内のスタイルを自サイトで使用しているスタイルシートに追加してください。参考 - KG (2006年09月14日 11時47分06秒)
- ref_codeを使用すると「Undefined subroutine &Util::url_encodeUndot called at plugin/code/RefCode.pm line 57」のエラーが出ます。RefCode.pmの57行目の「&Util::url_encodeUndot」を「&Util::url_encode」にする事で解決しました。 - 零 (2007年04月10日 09時57分36秒)
- 今見直してみたら、手元のソースは昨年の6月に修正済みでした...orz。一応、最終バージョンのアーカイブを上書きで最新にしておきます。ご報告ありがとうございます。 - KG (2007年04月10日 10時40分17秒)
- IE7で行番号の表示位置がずれます。 - tomoyan (2007年11月21日 16時17分27秒)
- スタイルシートの div.code table に line-height:100%; を追加してみてください。 - KG (2007年11月21日 17時32分04秒)
- 表示できました。ありがとうございました。 - tomoyan (2007年11月28日 12時34分26秒)
- [String url = "http://localhost";]などと記載した際、[//]以降がコメント開始と認識されるようです。 - passer (2012年04月07日 18時19分58秒)
- 連投すみません、少なくともJavaモジュールにおいてです。 - passer (2012年04月07日 18時22分01秒)
最終更新時間:2012年04月07日 18時22分01秒