« GMOクラウド NTPサーバのインストール | トップページ | BOSE QuietComfort 20 速攻レビュー »

FreeStyle Wikiに更新履歴を表示する

FreeStyle Wiki(FSWiki)のトップページ(FrontPage)に、投稿の更新履歴(変更履歴)を表示するようプログラムを改造しました。
かなり手を抜いてます。プラグインじゃありません。patchファイルの提供もありません。プログラムを直接変更します。

ページの更新履歴をファイルに保存する。

ページ更新時に、更新履歴保持用のファイルに書き込みます。
cgi-bin/FSWiki/lib/Wiki.pmを修正します。

sub save_page {
(中略)
	# パラメータを読み込み直す
	$content = $self->get_CGI()->param("content");
	
	if($self->{"storage"}->save_page($pagename,$content,$sage)){
		if($content ne ""){
			$self->do_hook("save_after");
			#修正開始
			my($d, $m, $y) = (localtime(time))[3..5];
			$y += 1900;
			$m++;

			my $line = "$y.$m.$d - [[$pagename]]\n"; #更新情報のフォーマット
			my $exist = 0;

			open(RECENT, "</FULL/PATH/TO/CGI-BIN/FSWIKI/data/recentupdate.wiki");
			my @updates;
			@updates = <RECENT>;
			close(RECENT);
			foreach my $update(@updates){
				if($line eq $update){
					$exist = 1;
				}
			}
			if($exist == 0){ #同じファイル・同じ日付の時はファイルを更新しない
				unshift(@updates, $line);
				open(RECENT, ">/FULL/PATH/TO/CGI-BIN/FSWIKI/data/recentupdate.wiki");
				print(RECENT @updates);
				close(RECENT);
			}
			#修正終了
		} else {
			$self->do_hook("delete");
		}
		(後略)
	}
}

トップページをWiki上で修正する

トップページ(FrontPage)を編集して、以下の内容を追記します。

!!!更新情報
{{include "recentupdate"}}

これでトップページに更新情報が表示されるはずです。
もし「ファイルがありません」が出たら、「recentupdate」ページを新規で作成してみてください。

おまけ

更新ファイルができたことだし、自サイトのトップページに最新変更日時を表示するようにしました。

<!--#flastmod virtual="./CGI-BIN/FSWIKI/data/recentupdate.wiki"-->

|

« GMOクラウド NTPサーバのインストール | トップページ | BOSE QuietComfort 20 速攻レビュー »

Linux」カテゴリの記事

パソコン・インターネット」カテゴリの記事

帰山作品」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/81940/64742349

この記事へのトラックバック一覧です: FreeStyle Wikiに更新履歴を表示する:

« GMOクラウド NTPサーバのインストール | トップページ | BOSE QuietComfort 20 速攻レビュー »