ブロック要素のユーザー定義をプラグイン化

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

メッセージ

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

*1 illegalですが、こんな書き方をしている人がいないとも限らない

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2002-12-02 (月) 12:37:02
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.193 sec.

OSDN