利用者:Frozen-mikan/曖昧さ回避.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
// 曖昧さ回避の括弧が付いたページから括弧が付いていないページへのリンクを追加
jQuery(function($) {
var m = /^(.+?)_\(.+\)$/.exec(mw.config.get("wgPageName"));
if (m != null) {
var output = mw.html.element( 'div', {}, new mw.html.Raw(
mw.html.escape('< ') +
mw.html.element( 'a', { href: mw.util.getUrl( m[1] )}, m[1])
));
$("#contentSub").append(output);
}
});
// 「項目名 (曖昧さ回避)」を新規作成する際、テキストボックスを「#転送 [[項目名]]」とする。
jQuery(function($) {
var $textbox = $('#wpTextbox1');
if ($textbox.length == 0) return;
var m = /^(.+?)_\((.+)\)$/.exec(mw.config.get("wgPageName"));
if (m == null || m[2] != "曖昧さ回避") return;
if ($textbox[0].value == "") {
$textbox[0].value = "#転送 [[" + m[1] + "]]";
}
});
// 「項目名 (曖昧さ回避)」以外の「すべての曖昧さ回避」カテゴリを含んでいるページに「項目名 (曖昧さ回避)」へのリンクを追加する
jQuery(function($) {
function isAimai() {
var cats = mw.config.get("wgCategories") || [];
for (var i = 0; i < cats.length; ++i) {
if (cats[i] == "すべての曖昧さ回避") return true;
}
return false;
}
if (isAimai() == false) return;
var m = /^(.+?)(?:_\((.+)\))?$/.exec(mw.config.get("wgPageName"));
if (m == null || m[2] == "曖昧さ回避") return;
var output = mw.html.element( 'div', {}, new mw.html.Raw(
mw.html.escape('< ') +
mw.html.element( 'a', {
href: mw.util.getUrl( m[1] + '_(曖昧さ回避)', {redirect: "no"})
}, m[1] + ' (曖昧さ回避)')
));
$("#contentSub").append(output);
});
// 曖昧さ回避ページへのリンクであることを明示する方法を「項目名 (曖昧さ回避)」へのリンクに統一する
jQuery(function($) {
if (mw.config.get("wgNamespaceNumber") != 0) return;
var $textbox = $('#wpTextbox1');
if ($textbox.length == 0) return;
var oldText = $textbox[0].value;
var newText = oldText
// [[項目名]] (曖昧さ回避)
.replace(/\[\[(.+?)\]\][_ ]?[\((]曖昧さ回避[)\)]/g, "[[$1 (曖昧さ回避)]]")
// [[項目名|項目名 (曖昧さ回避)]]
.replace(/\[\[(.+?)\|\1[_ ]?[\((]曖昧さ回避[)\)]\]\]/g, "[[$1 (曖昧さ回避)]]");
if (oldText != newText) {
if (window.confirm('曖昧さ回避ページヘのリンクを変更しますか?') == false) return;
$textbox[0].value = newText;
// 要約欄に追加
var $summary = $('#wpSummary');
if ($summary.length == 0) return;
$summary[0].value = $summary[0].value + "[[Wikipedia:曖昧さ回避#曖昧さ回避ページへのリンク]]";
// 細部の編集
var $minor = $('#wpMinoredit');
if ($minor.length == 0) return;
$minor[0].checked = true;
// 投稿ボタンの無効化
var $save = $('#wpSave');
if ($save.length == 0) return;
$save[0].disabled = true;
}
});