*ブロック要素のユーザー定義をプラグイン化
*ブロック要素のユーザー定義をプラグイン化 [#m3f68da3]

-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 重要
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2002-07-11 (木) 20:57:23
-バージョン: 

**メッセージ
**メッセージ [#p8d5cfe8]
ユーザー定義のうち、RIGHT:やCENTER:などブロック要素のものはプラグイン化しないとダメ。

プラグイン化しないと、<p>~<p>の中に埋め込まれてしまうため。
なお、表組み(table)の中では従来通りRIGHT:やCENTER:が使用できる。

サンプル(align.inc.php)
 <?
 // $id$
 
 function plugin_align_convert()
 {
 	if(func_num_args()!=2) {
 		return;
 	}
 	$aryargs = func_get_args();
 	$string = htmlspecialchars($aryargs[1]);
 	$string = inline2($string);
 	$align = strtoupper($aryargs[0]);
  
 	if($align == 'R' || $align == 'RIGHT') {
 		$align = 'right';
 	}
 	elseif($align == 'C' || $align == 'CENTER') {
 		$align = 'center';
 	}
 	else {
 		$align = 'left';
 	}
  
 	return "<div style=\"text-align:$align\">$string</div>";
 }
 ? >

これはサンプルで、%%実用のためには$stringにWikiName、BracketName、ユーザー定義や画像のURLなどが含まれている場合の処理などが必要となります%%、対象文字列内に注釈とユーザー定義のうちソースを直接書き換えるもの(now?など)は入れることはできません。COLORやSIZEのようなユーザー定義は大丈夫です。

同様に、ユーザー定義でブロック要素を定義している場合は、プラグイン化する必要があります。
----

-ユーザー定義ルールもブロックとして判定するものとインラインのものと2種類を用意する必要があるのかもしれません。 -- [[kawara]] SIZE(1):2002-07-12 (金) 11:44:15
-とりあえずWikiNameやユーザー定義などのインライン要素の変換はhtml.phpのinline2関数を呼び出して対応。まだ注釈は未対応(^^;; -- [[reimy]] SIZE(1):2002-07-15 (月) 03:45:52
-align.inc.phpは[[自作プラグイン]]のページに掲載 -- [[reimy]] SIZE(10){2002-07-21 (日) 20:51:35}
-どうします?これ。プラグインに入れますか?文法拡張しますか?ブロックユーザ定義ルール作りますか? -- [[ゆう]] SIZE(10){2002-07-22 (月) 00:45:19}
-できれば本体で処理してほしいです(プラグインでは日時置換文字や注釈には対応できないため)。本体で対応する場合は、#imgの機能も本体に含めるといいでしょう。 -- [[reimy]] SIZE(10){2002-07-22 (月) 01:11:20}
-ついでに#anchorプラグインのインライン化もお願いします。インライン化しない限り、使い物にならないので… -- [[reimy]] SIZE(10){2002-07-22 (月) 01:26:48}
-これは今後書式にいくんですよね。というわけで保留に。 -- [[ゆう]] SIZE(10){2002-08-05 (月) 19:19:57}
-一行はspanでブロックはdivで一段落をPでばっちりだと思います -- [[kyo]] SIZE(10){2002-08-22 (木) 15:26:48}
-LEFT/CENTER/RIGHTをconvert_html()に組み込んでみました。([[cvs:html.php]],[[cvs:pukiwiki.ini.php]]) -- [[ぱんだ]] SIZE(10){2002-12-02 (月) 10:15:58}
--pukiwiki.ini.phpからユーザ定義ルールLEFT/CENTER/RIGHTをいったん外したんですが(1.15)、以下のような書き方((illegalですが、こんな書き方をしている人がいないとも限らない))ができなくなってしまうので、元に戻しました(1.16)。 -- [[ぱんだ]] SIZE(10){2002-12-02 (月) 12:19:24}
 hogeCENTER:fuga
 -CENTER:fuga
hogeCENTER:fuga
-CENTER:fuga
#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.032 sec.

OSDN