「利用者:Mage Whopper/存命人物編集警告」の版間の差分
Mage Whopper (会話 | 投稿記録) editintroテンプレートについて |
(相違点なし)
|
2009年9月19日 (土) 08:44時点における版
enでは、存命人物にはen:Category:Living Peopleがついています。jaではがそれに当たるでしょう。
このカテゴリがついたページを編集すると、編集時にページ上部に存命人物のページ編集はきをつけなさい、的なテンプレートが表示されます。仕掛けは後述。例 en:Päivi_Aaltonen editをクリックしてみてください。
表示されているのはen:Template:BLP_editintro。
動作原理
URL引数
MediaWikiのURL引数に追加が行われています。 action=editのときには引数にeditintroが追加されており、URLにeditintro=ページ名を追加すると、編集ボックスの上部に指定したページを表示することができます。存命人物関係以外にも使うことは可能です。これはjaでも機能します(例[1])。この機能では、テンプレートのリダイレクトは働きません(例[2])。機能自体はTemplate:Cite webなどにも使われているので、一部使用されています。[3]
Common.js
この機能を用いて、Common.jsでページ内にCategory:Living Peopleがあるページを編集しようとすると、編集のURLにeditintro=Template:BLP_editintro を追加するようにen:MediaWiki:Common.jsに関数を仕込んでいます。それが以下の部分。
ページ内のHTMLからカテゴリのリンクを抜き出して、その中にCategory:Living peopleがあるかどうかを見て、編集リンクを追加しているだけです。
function addEditIntro(name)
{
var el = document.getElementById('ca-edit');
if (!el)
return;
el = el.getElementsByTagName('a')[0];
if (el)
el.href += '&editintro=' + name;
}
if (wgNamespaceNumber == 0) {
addOnloadHook(function(){
if (document.getElementById('disambigbox'))
addEditIntro('Template:Disambig_editintro');
});
addOnloadHook(function(){
var cats = document.getElementById('mw-normal-catlinks');
if (!cats)
return;
cats = cats.getElementsByTagName('a');
for (var i = 0; i < cats.length; i++) {
if (cats[i].title == 'Category:Living people' || cats[i].title == 'Category:Possibly living people') {
addEditIntro('Template:BLP_editintro');
break;
}
}
});
}
テンプレート
Templateはen:Template:Editnoticeを使ってつくられていています。今のところ他の用途には使っていないようです。[4] jaの場合は人物だけではなく企業や組織もWikipedia:名誉毀損の対象になるのでこれも作るといいかと思います。
日本語版には、Template:BLP_editintroが既にありますので、こちらを元にすれば良いと思います。