トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

BugTrack-plugin/376

ページの作成や編集にはユーザ登録が必要です。

google-code-prettify を使ったシンタックス・ハイライトです。

  • 投稿者: いしだなおと
  • カテゴリ: 新規
  • 優先度: 低
  • 状態: 提案
  • 日時: 2008年06月03日 12時30分27秒

 内容

google-code-prettify を使ったシンタックス・ハイライトです。

次にあげる言語などに対応していると謳われています。アップデートされたバージョンが公開されたとき、jsを入れ替えることによってさらに対応が増えることでしょう。

C, C++, Java, Javascript, Python, Ruby, PHP, Perl, Bash, Awk, Makefiles, HTML, XML, CSS, lua, C#, VB, Haskell, F#, MXML/AS3, ...

なお利用に際してはgoogleとは関係なく動作します。

 関連するプラグイン

同じような目的のために使えるプラグインとして既に、codeプラグインBugTrack-plugin/208やattach_codeプラグインBugTrack-plugin/367が存在します。それらと違う特徴は、対応する言語の幅が非常に広いことと、jsによってクライアントサイドで色づけすることです。

私はPHPに対応したものが欲しかったのですが、独自に予約後などのリストを作るのも面倒だったので、ありもので済ませました。ただし上記のようにjsが有効になっている必要があるので、状況に応じて既存のプラグインとも使い分けてください。

 ダウンロード

  • 2008-6-3 初登場
  • 2008-6-3b ファーム対応

 インストール

圧縮ファイルの中身全部を、ディレクトリ名もそのまま(あとで変更可能)でアップロードします。そのあと、管理画面(プラグイン設定)から有効にしてください。

 使い方

ブロックプラグインになります。難しいオプションなどはありません。javascriptとCSSが有効になっている必要があります。

{{pretty_print 
ソースコード
}}

 ライセンス

プラグインの実装はFSWiki本体に準じて、GPLです。もしくはApache License, Version 2.0、修正Artistic Licenseも選択可能です。

同梱している外部javascriptファイルと外部CSSファイルは、Apache License, Version 2.0です。

Copyright (C) 2006 Google Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.

 設定項目 prettify_dir (pretty_print)

通常は何の設定もしなくて結構です。デフォルトより変更したい場合は、setup.datに次の記述を追加し、prettify.js, prettify.css の2つのファイルを配置する場所を設定します。

   # prettify用外部ファイルを格納するディレクトリ
   prettify_dir = your/setting/path

相対URLか、絶対URL(のパス)で指定します。文字列の最後に「/」は付けません。

なお、google-code-prettify より最新のjsを入手した場合は、prettify.js, prettify.css の2つのファイルを入れ替えるだけでOKです。

CSSに関しては、ログイン⇒管理⇒スタイル設定で、「ユーザ定義スタイル」に追加する方法でも運用可能でしょう。

参考

【ハウツー】ハイライトもGoogle流 - "google-code-prettify"でソースコードに色付けを (1) 簡単&便利な"google-code-prettify" | エンタープライズ | マイコミジャーナル http://journal.mycom.co.jp/articles/2007/03/27/gcp/

 コメント

  • 現在のところFarmに対応しておらず、rootのWikiでのみ使えます。この問題は、リソースファイルの絶対URLを設定で指定すれば回避可能です。 - いしだなおと (2008年06月03日 12時57分46秒)
  • 本体のtheme_uriの処理を参考にFarm対応しました。 - いしだなおと (2008年06月03日 15時50分58秒)
  • 1ページあたり複数回、同プラグインを記述するときに正しい結果になりません。場当たり的な回避策を試したのですが、使い勝手が悪くなってしまう方法だったので、別案を模索中です。  - いしだなおと (2008年06月04日 22時17分37秒)
お名前: コメント:
pretty_print20080603.zip pretty_print20080603b.zip

最終更新時間:2008年06月04日 22時19分31秒