*ブロック要素のユーザー定義をプラグイン化 *ブロック要素のユーザー定義をプラグイン化 [#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