ページの作成や編集にはユーザ登録が必要です。
【FSWikiLite】Diffプラグイン
- 投稿者: Qz
- カテゴリ: 新規
- 優先度: 低
- 状態: 提案
- 日時: 2004年05月24日 23時15分02秒
内容
FSWikiLite用のDiffプラグインです。興味本位で作ってみました。
別途、Algorithm::Diffモジュールが必要なので、通常版のFSWikiを解凍して入手するか、CPANあたりから、入手してください。
差分の表示は、面倒なのでpreで囲ってしまっています。なので気に入らない方は適当に修正してください。
インストール方法
diff.cgiの先頭行の、
#!/usr/bin/perl
を環境に合わせてください。そして、wiki.cgiと同じディレクトリにコピーして、パーミッションも、環境に合わせてください。
Algorithm::Diffモジュール(Diff.pm)をlibディレクトリにアップロードしてください。[1]
次にメニュー部分に、「差分」という表示をさせるための方法を説明します。
setup.plに、以下の行を追加してください。
$DIFF_SCRIPT = 'diff.cgi';
common.plのヘッダを表示する関数print_headerのメニュー部分のお好きなところに、
if($show==1){ print " <a href=\"$DIFF_SCRIPT?p=" . &Util::url_encode($in{"p"}) . "\">差分</a>\n"; }
と記述してください。
たぶん、これでインストールはできると思います。
メニューに差分を追加する例
ヘルプの左隣に「差分」と表示させる例です。
#------------------------------------------------------------------------------- # ヘッダを表示 #------------------------------------------------------------------------------- sub print_header { my $title = shift; my $show = shift; print "Content-Type: text/html;charset=EUC-JP\n"; print "Pragma: no-cache\n"; print "Cache-Control: no-cache\n\n"; print "<html>\n"; print "<head>\n"; print "<title>".&Util::escapeHTML($title)." - $SITE_TITLE</title>\n"; print "<link rel=\"stylesheet\" type=\"text/css\" href=\"$THEME_URL\">\n"; print "</head>\n"; print "<body>\n"; if(&Wiki::exists_page("Menu")){ print "<div class=\"main\">\n"; } print "<div class=\"adminmenu\">\n"; print " <span class=\"adminmenu\">\n"; print " <a href=\"$MAIN_SCRIPT?p=FrontPage\">FrontPage</a>\n"; print " <a href=\"$EDIT_SCRIPT?a=new\">新規</a>\n"; if($show==1){ print " <a href=\"$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($in{"p"})."\">編集</a>\n"; } print " <a href=\"$MAIN_SCRIPT?a=search\">検索</a>\n"; print " <a href=\"$MAIN_SCRIPT?a=list\">一覧</a>\n"; ################################ #追加 if($show==1){ print " <a href=\"$DIFF_SCRIPT?p=" . &Util::url_encode($in{"p"}) . "\">差分</a>\n"; } #追加終わり ################################ print " <a href=\"$MAIN_SCRIPT?p=Help\">ヘルプ</a>\n"; print " </span>\n"; print "</div>\n"; print "<h1>".&Util::escapeHTML($title)."</h1>\n"; }
ライセンス
GPL[2]
コメント
- @niftyにFSWikiLiteを設置しています。最近「差分」があると便利だと思いこのプラグインを導入してみましたが、「CGIエラーが発生しました」となり動作しません。@niftyの場合特別に「diff.cgi」や「Diff.pm」の内容を変更しなければ動作しないのでしょうか?もし変更しなければいけないという事であってもどこを変更すればよいのか判りません。よろしくお願いいたします。 - Daichan (2006年06月30日 00時10分38秒)
- 自己解決できました。 - Daichan (2006年07月03日 09時34分43秒)
- [1]lib/Algorithmディレクトリではなくて、lib直下にアップロードしてください。
- [2]いつも記述するのを忘れてしまいます。他の拙作のプラグインもGPLでお願いします。
diff.zip最終更新時間:2006年07月14日 06時49分00秒