[Fswiki-dev] pluginhelpでWiki記法も使えるようにする+α

アーカイブの一覧に戻る

N.Katoh typer_jp****@yahoo*****
2005年 5月 8日 (日) 23:20:11 JST


こんにちは。加藤です。

プラグインのヘルプにWiki記法が使えると便利だなと思ったので扱えるようにし
てみました。現状のHTML形式との両立のため、ヘルプ部分の一番頭の文字が"<"
だったらHTML、そうでなければWIKI形式とみなしています。合わせて少し改良も
しています。

プラグイン投稿に上げようと思ったのですが、取り込まれなければあまり意味が
ないのでこちらに上げておきます。


以下詳細です。

・$flagはヘルプ部分が終った時にループを抜けるフラグとして使用されていま
  すが、$commentが使えるので削除しました。

・現状はヘルプ部分を、
#〜〜〜
#〜〜〜
#〜〜〜
  としていますが、WIKIのpreとの兼ね合いもあり
# 〜〜〜
# 〜〜〜
# 〜〜〜
  と、"#"の後に空白またはタブがあることを条件に入れました。ただし、"#"単
  独の行も許容しています。

・現在は行の最初にでてくる連続した"#"と"="を削除していますが、これは過去
  のコメントでの処理上付けたものだと思いますし、何かと不便があるのと、
  WIKIのpreの都合もあるので、行頭の"# "のみを削除するようにしています。
  一通りチェックした所、google/Google.pm が影響を受けます。

・同じく現在は行頭の空白も削除していますが、やはりWIKIのpreとの兼ね合い
  から削除しません。ただし、後にHTMLの場合はまとめて削除してます。

・さらに空行も削除していますが、WIKIの段落分けで意味をもちますので削除し
  ていません。ただし、最初の空行は後で削除しています。

以下パッチです。
--- plugin/info/PluginHelpHandler.pm.orig	Fri Feb 11 23:50:03 2005
+++ plugin/info/PluginHelpHandler.pm	Sun May  8 19:51:23 2005
@@ -39,20 +39,20 @@
 	my $fname = $wiki->config("plugin_dir").'/'.&Util::get_module_file($plugin);
 	open(MODULE,$fname) || die "$fnameのオープンに失敗しました。";
 	my $comment = "";
-	my $flag = 0;
 	while(<MODULE>){
-		if(!/^#/ || /^##/){
-			if($flag==0){ next; } else { last; }
-		}
-		$flag = 1;
-		s/\#+//;
-		s/\=+//;
-		s/^\s+//; s/\s+$//;
-		if($_ ne ""){
-			$comment .= $_."\n";
+		if(!/^#\s/){
+			if($comment eq ""){ next; } else { last; }
 		}
+		s/^#\s//; s/\s+$//;
+		$comment .= $_."\n";
 	}
 	close(MODULE);
+	$comment =~ s/^\n+//;
+	if($comment =~ /^</){
+		$comment =~ s/^\s+//gm;
+	}else{
+		$comment = $wiki->process_wiki($comment);
+	}
 	return $comment;
 }
 

-- 
typer        typer_jp****@yahoo***** 
Noboru Katoh typer****@chive*****



Fswiki-dev メーリングリストの案内
アーカイブの一覧に戻る