「利用者: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が既にありますので、こちらを元にすれば良いと思います。