BugTrack/2262
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* メニューバーの中でInvalid XHTML対策済みプラグインを使用...
- ページ: [[BugTrack2]]
- 投稿者: [[Ilfa]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: その他
- 投稿日: 2007-07-23 (月) 00:41:25
- バージョン:
#contents
** まとめ・修正 [#ca748a1f]
WikiテキストをXHTMLに変換する処理について:
- PukiWiki本体は何もしない。
- PukiWiki の read プラグインなどは、指定したページ1つに...
-- スキンは基本的にデザインのみを担当している。
-- デザイン上の都合で、スキンによってはさらに別のページを...
-- これらのサブページのconvertは、PHPがデータの出力を開始...
修正:
- スキン内部において、データの出力を開始する前にサブペー...
-- [[cvs:skin/pukiwiki.skin.php]] (r1.55-1.56)
-- [[tDiaryスキン]] は既に同様の処理手順になっているため...
** メッセージ [#n42d85dd]
Invalid XHTML 1.1になるプラグインについては、PukiWikiでは...
global $pkwk_dtd;
(中略)
if (! isset($pkwk_dtd) || $pkwk_dtd == PKWK_DTD_XHTML_1_1)
$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL;
ところが、このようなプラグインをメニューバー内で使用した...
対策としては、スキンの中で、
if (isset($pkwk_dtd)) {
$meta_content_type = pkwk_output_dtd($pkwk_dtd);
} else {
$meta_content_type = pkwk_output_dtd();
}
?>
<head>
<?php echo $meta_content_type ?>
このように$pkwk_dtdの内容を出力している部分より前の行で
if (arg_check('read') && exist_plugin_convert('menu')) {
$menuhtml = do_plugin_convert('menu');
}
として、メニューバーの内容をとりあえず実行して変数に取り...
<?php if (isset($menuhtml)) { ?>
<div id="menubar">
<?php echo $menuhtml ?>
</div>
<?php } ?>
泥縄式ではあるが、とりあえずの対策としては、これがいちば...
根本的な修正をやろうとすると、かなり大がかりになりそうな...
--------
- 冗長な判定を簡略化しますた -- &new{2007-07-23 (月) 21:...
- $submenutextでなく$submenuhtmlの方がしっくりね。 -- &n...
-- もしかしてsubは要らない? -- &new{2007-07-23 (月) 21:...
- コメントありがとうございます。「menubarを処理してる所が...
-- MenuBarのようなサブページを(いくつ、どんな時に)表示す...
-- [[cvs:skin/pukiwiki.skin.php]] (r1.55) こんな感じでい...
-- [[tDiaryスキン]] はとっくにこのような処理を実施してい...
--- r.1.55 スマートですね。OKです。という表現が失礼なくら...
--- ちょっといけてない部分があったので、もう一つコミット...
--- [[cvs:skin/pukiwiki.skin.php]] (r1.56)
#comment
----
** コメント: デザイン(1) [#f06c3904]
- これは MenuBar の変換のタイミングと、本文の変換のタイミ...
-- 議論すべき点は MenuBar を使用しないスキンでも MenuBar ...
-- しかし、個人的には MenuBar を使用しないスキンでも Menu...
- どんなサブページをどれだけconvertしたいのか、という部分...
-- 「それを規定する箇所は変わらない」というのはMenuBarは...
-- ちなみに、そのスキン切り替えプラグインというのはどれで...
-- [[BugTrack/634]] に載っている[[skin プラグイン>plus:Pl...
- すでに上で挙がっている、$head_tags もそうなんですが、$f...
// List of footnotes
ksort($foot_explain, SORT_NUMERIC);
$notes = ! empty($foot_explain) ? $note_hr . join("\n",...
// Tags will be inserted into <head></head>
$head_tag = ! empty($head_tags) ? join("\n", $head_tags...
正確には、注釈へのリンクは表示されるのに、リンク先である...
-- ただ互換性を考えると、今ある場所はそのままにして、$foo...
-- skin/pukiwiki.skin.php (1.56) を修正する場合の例
// MenuBar
$menu = arg_check('read') && exist_plugin_convert('menu...
+
+// List of footnotes
+ksort($foot_explain, SORT_NUMERIC);
+$notes = ! empty($foot_explain) ? $note_hr . join("\n",...
+
+// Tags will be inserted into <head></head>
+$head_tag = ! empty($head_tags) ? join("\n", $head_tags...
// ----------------------------------------------------...
// Output
#comment
----
** コメント: デザイン(2) [#f06c3904]
- 実装をとやかく言う前に仕様を明確にした方が良いかと。ま...
-- 不明確なのは仕様というより要求、というかユーザーのニー...
#comment
----
** サブページを全て同じタイミングでconvertした方が都合の...
-- 仕様云々に言い換えると「プラグインをMenuBar においても...
-- >。今回のようなMenuBarの問題は自作プラグイン作者が本...
むしろ本体devの側で気付いていなかったため、発生したものと...
-- 実装は上では一切言っていないので、これから言うと、puki...
+global $menubar;
+$menubar = do_plugin_convert('menu');
の2行を適当な場所におき、スキンでは echo $menubar だけす...
- 上でも議論すべき点として少し述べましたが、実装を考えて...
- 下流工程で歯止めをするより、上流工程で歯止めをすること...
-- そして、現状仕様に不満足な自作プラグイン作者等がdevに...
-- 上流工程とか何のことを指しているのかわかりませんが、今...
- ちょっと待ってください。まるで現状の MenuBar の変換タイ...
-- プラグインを MenuBar においても、本文においても同じ動...
- 他のコメント欄と話題がかぶっている気がする -- [[henohen...
#comment
** メタコメント: 他人のコメントを含めた話題の整理 [#f296c...
- うーん、自分のコメントだけ全部消していくというのは、人...
-- wikiだから自分で戻したら?これ以上、付き合わないので勝...
-- 自分のコメントのみならず他人のコメントまで消していくと...
- ここだけ見ると、まるで消された話題があったかのように見...
>
+一回一回の修正(とかコメント)はテーマを絞って、主語述語を...
+別の話題が見えてきたら、早めに(第三者に納得されるように...
+周りに納得されるような、うまい見出し(話題の要約)を考えて...
<
といった事を、できれば周りと調整しながらうまくやって下さ...
-- これはいわゆるバッドノウハウってやつですよね? pukiwik...
- 何らかの味気ない((話題の邪魔をしない、そこそこユニーク...
- (調べてみましたが、「捨て台詞の様なコメントを残しつつ、...
- メイントピックは解決できているため、完了にしておきます...
#comment
終了行:
* メニューバーの中でInvalid XHTML対策済みプラグインを使用...
- ページ: [[BugTrack2]]
- 投稿者: [[Ilfa]]
- 優先順位: 普通
- 状態: 完了
- カテゴリー: その他
- 投稿日: 2007-07-23 (月) 00:41:25
- バージョン:
#contents
** まとめ・修正 [#ca748a1f]
WikiテキストをXHTMLに変換する処理について:
- PukiWiki本体は何もしない。
- PukiWiki の read プラグインなどは、指定したページ1つに...
-- スキンは基本的にデザインのみを担当している。
-- デザイン上の都合で、スキンによってはさらに別のページを...
-- これらのサブページのconvertは、PHPがデータの出力を開始...
修正:
- スキン内部において、データの出力を開始する前にサブペー...
-- [[cvs:skin/pukiwiki.skin.php]] (r1.55-1.56)
-- [[tDiaryスキン]] は既に同様の処理手順になっているため...
** メッセージ [#n42d85dd]
Invalid XHTML 1.1になるプラグインについては、PukiWikiでは...
global $pkwk_dtd;
(中略)
if (! isset($pkwk_dtd) || $pkwk_dtd == PKWK_DTD_XHTML_1_1)
$pkwk_dtd = PKWK_DTD_XHTML_1_0_TRANSITIONAL;
ところが、このようなプラグインをメニューバー内で使用した...
対策としては、スキンの中で、
if (isset($pkwk_dtd)) {
$meta_content_type = pkwk_output_dtd($pkwk_dtd);
} else {
$meta_content_type = pkwk_output_dtd();
}
?>
<head>
<?php echo $meta_content_type ?>
このように$pkwk_dtdの内容を出力している部分より前の行で
if (arg_check('read') && exist_plugin_convert('menu')) {
$menuhtml = do_plugin_convert('menu');
}
として、メニューバーの内容をとりあえず実行して変数に取り...
<?php if (isset($menuhtml)) { ?>
<div id="menubar">
<?php echo $menuhtml ?>
</div>
<?php } ?>
泥縄式ではあるが、とりあえずの対策としては、これがいちば...
根本的な修正をやろうとすると、かなり大がかりになりそうな...
--------
- 冗長な判定を簡略化しますた -- &new{2007-07-23 (月) 21:...
- $submenutextでなく$submenuhtmlの方がしっくりね。 -- &n...
-- もしかしてsubは要らない? -- &new{2007-07-23 (月) 21:...
- コメントありがとうございます。「menubarを処理してる所が...
-- MenuBarのようなサブページを(いくつ、どんな時に)表示す...
-- [[cvs:skin/pukiwiki.skin.php]] (r1.55) こんな感じでい...
-- [[tDiaryスキン]] はとっくにこのような処理を実施してい...
--- r.1.55 スマートですね。OKです。という表現が失礼なくら...
--- ちょっといけてない部分があったので、もう一つコミット...
--- [[cvs:skin/pukiwiki.skin.php]] (r1.56)
#comment
----
** コメント: デザイン(1) [#f06c3904]
- これは MenuBar の変換のタイミングと、本文の変換のタイミ...
-- 議論すべき点は MenuBar を使用しないスキンでも MenuBar ...
-- しかし、個人的には MenuBar を使用しないスキンでも Menu...
- どんなサブページをどれだけconvertしたいのか、という部分...
-- 「それを規定する箇所は変わらない」というのはMenuBarは...
-- ちなみに、そのスキン切り替えプラグインというのはどれで...
-- [[BugTrack/634]] に載っている[[skin プラグイン>plus:Pl...
- すでに上で挙がっている、$head_tags もそうなんですが、$f...
// List of footnotes
ksort($foot_explain, SORT_NUMERIC);
$notes = ! empty($foot_explain) ? $note_hr . join("\n",...
// Tags will be inserted into <head></head>
$head_tag = ! empty($head_tags) ? join("\n", $head_tags...
正確には、注釈へのリンクは表示されるのに、リンク先である...
-- ただ互換性を考えると、今ある場所はそのままにして、$foo...
-- skin/pukiwiki.skin.php (1.56) を修正する場合の例
// MenuBar
$menu = arg_check('read') && exist_plugin_convert('menu...
+
+// List of footnotes
+ksort($foot_explain, SORT_NUMERIC);
+$notes = ! empty($foot_explain) ? $note_hr . join("\n",...
+
+// Tags will be inserted into <head></head>
+$head_tag = ! empty($head_tags) ? join("\n", $head_tags...
// ----------------------------------------------------...
// Output
#comment
----
** コメント: デザイン(2) [#f06c3904]
- 実装をとやかく言う前に仕様を明確にした方が良いかと。ま...
-- 不明確なのは仕様というより要求、というかユーザーのニー...
#comment
----
** サブページを全て同じタイミングでconvertした方が都合の...
-- 仕様云々に言い換えると「プラグインをMenuBar においても...
-- >。今回のようなMenuBarの問題は自作プラグイン作者が本...
むしろ本体devの側で気付いていなかったため、発生したものと...
-- 実装は上では一切言っていないので、これから言うと、puki...
+global $menubar;
+$menubar = do_plugin_convert('menu');
の2行を適当な場所におき、スキンでは echo $menubar だけす...
- 上でも議論すべき点として少し述べましたが、実装を考えて...
- 下流工程で歯止めをするより、上流工程で歯止めをすること...
-- そして、現状仕様に不満足な自作プラグイン作者等がdevに...
-- 上流工程とか何のことを指しているのかわかりませんが、今...
- ちょっと待ってください。まるで現状の MenuBar の変換タイ...
-- プラグインを MenuBar においても、本文においても同じ動...
- 他のコメント欄と話題がかぶっている気がする -- [[henohen...
#comment
** メタコメント: 他人のコメントを含めた話題の整理 [#f296c...
- うーん、自分のコメントだけ全部消していくというのは、人...
-- wikiだから自分で戻したら?これ以上、付き合わないので勝...
-- 自分のコメントのみならず他人のコメントまで消していくと...
- ここだけ見ると、まるで消された話題があったかのように見...
>
+一回一回の修正(とかコメント)はテーマを絞って、主語述語を...
+別の話題が見えてきたら、早めに(第三者に納得されるように...
+周りに納得されるような、うまい見出し(話題の要約)を考えて...
<
といった事を、できれば周りと調整しながらうまくやって下さ...
-- これはいわゆるバッドノウハウってやつですよね? pukiwik...
- 何らかの味気ない((話題の邪魔をしない、そこそこユニーク...
- (調べてみましたが、「捨て台詞の様なコメントを残しつつ、...
- メイントピックは解決できているため、完了にしておきます...
#comment
ページ名: