ページの作成や編集にはユーザ登録が必要です。
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 pretty_print20080603b.zip(590)
- 対象 FSWiki 3.6.2、3.6.3dev、3.6.3devのCSV版
- 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秒)
- いまさらですが書き直してみました。こんなのばっかりですいません。 - 名無しさん (2020年12月20日 07時16分16秒)
- 私も以前、、、こんなのを作っていました。Layoutプラグイン用のテンプレートですけどね。 - KG (2020年12月21日 04時09分14秒)
- ZAP - ZAP (2022年06月20日 01時39分56秒)
最終更新時間:2022年06月20日 01時39分56秒