コンテンツにスキップ

利用者:Atmark-chan/common.js/p-personal.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// プルダウン(?)の CSS 定義
mw.util.addCSS(
	'#p-personal .pt-pulldown {'
		+ 'all: unset;'
		+ 'display: none;'
		+ 'position: absolute;'
		+ 'padding: 0;'
		+ 'border: aquamarine 1px solid;'
		+ 'background-color: white;'
	+ '}'
	+ '#p-personal .pt-pulldown ul {'
		+ 'all: unset;'
		+ 'display: block;'
	+ '}'
	+ '#p-personal .pt-pulldown ul li{'
		+ 'all: unset;'
		+ 'display: block;'
		+ 'margin: 10px 10px;'
		+ 'font-size: 1em;'
	+ '}'
	+ '#p-personal .pt-pulldown ul li:before{'
		+ 'content: "● ";'
		+ 'color: #555;'
	+ '}'
);

// [[User:Atmark-chan-Bot]]へのリンクを追加、プルダウン(?)で Bot の投稿記録へのリンクを表示 
mw.util.addCSS(
	'#pt-bot:before {'
		+ 'content: "</> ";'
		+ 'font-size: 80%;'
		+ 'font-weight: bolder;'
		+ 'color: #555555;'
	+ '}'
);
mw.util.addPortletLink(
	"p-personal", // 個人用ツールバーのID
	"/wiki/User:Atmark-chan-Bot", // リンク先URL
	"Bot", // 表示文字列
	"pt-bot", // 追加する項目のID(省略可)
	"Atmark-chan-Bot", // 項目のツールチップ(省略可)
	null, // (省略)
	"#pt-preferences" // 項目を追加する場所のID(ログアウト)
);

$('#pt-bot').append(
	$('<div>').attr(
		{
			'id': 'pt-bot-child',
			'class': 'pt-pulldown'
		}
	).append(
		$('<ul>').removeAttr('style').append(
			$('<li>').append(
				$('<a>').attr(
					{
						'href': '/wiki/Special:Contributions/Atmark-chan-Bot'
					}
				).append('Atmark-chan-Bot の投稿記録')
			)
		)
	)
);

// hover が動作する環境でなら動作する。その場合は、
$('#pt-bot').on('mouseover', function(e) {
	$('#pt-bot').addClass('pt-hover'); // フラグ(?)を立てておく
	$('#pt-bot-child')[0].style.display = 'block';
});
$('#pt-bot').on('click', function(e) {
	if (!$('#pt-bot').hasClass('pt-hover')) { // hover 動作のフラグが立っていなければ(あったら何もしない)
		if ($('#pt-bot-child')[0].style.display == 'none'){
			$('#pt-bot-child')[0].style.display = 'block';
		} else {
			$('#pt-bot-child')[0].style.display = 'none';
		}
	}
});
$('#pt-bot').on('mouseleave', function(e) {
	$('#pt-bot').removeClass('pt-hover'); // フラグの後始末
	$('#pt-bot-child')[0].style.display = 'none';
});

// ベータ版へのリンクを削除
$("#pt-betafeatures").remove();

// 各リンクの文字列を変更
$('#pt-mytalk a').text('会話');
$('#pt-sandbox a').text('下書き');
$('#pt-watchlist > a').text('ウォッチ');

// jawp のみ
if ( /^jawiki$/.test( mw.config.get( 'wgDBname' ) ) ) {
	/* 
	「サブ頁」というリンクを追加、プルダウン(?)で
	* [[User:Atmark-chan/sandbox]]
	* [[User:Atmark-chan/タスク]]
	* [[User:Atmark-chan/リンク・備忘録]]
	へのリンクを表示 
	*/
	mw.util.addPortletLink(
		"p-personal", // 個人用ツールバーのID
		"#", // リンク先URL
		"サブ頁", // 表示文字列
		"pt-subpages", // 追加する項目のID(省略可)
		null, // 項目のツールチップ(省略)
		null, // (省略)
		"#pt-preferences" // 項目を追加する場所のID(個人設定)
	);
	
	$('#pt-subpages').append(
		$('<div>').attr(
			{
				'id': 'pt-subpages-child',
				'class': 'pt-pulldown'
			}
		).append(
			$('<ul>').removeAttr('style').append(
				$('<li>').append(
					$('<a>').attr(
						{
							'href': '/wiki/User:Atmark-chan/sandbox'
						}
					).append('下書き')
				)
				,$('<li>').append(
					$('<a>').attr(
						{
							'href': '/wiki/User:Atmark-chan/タスク'
						}
					).append('タスク')
				)
				,$('<li>').append(
					$('<a>').attr(
						{
							'href': '/wiki/User:Atmark-chan/リンク・備忘録'
						}
					).append('リンク・備忘録')
				)
			)
		)
	);
	
	// hover が動作する環境でなら動作する。その場合は、
	$('#pt-subpages').on('mouseover', function(e) {
		$('#pt-subpages').addClass('pt-hover'); // フラグ(?)を立てておく
		$('#pt-subpages-child')[0].style.display = 'block';
	});
	$('#pt-subpages').on('click', function(e) {
		if (!$('#pt-subpages').hasClass('pt-hover')) { // hover 動作のフラグが立っていなければ(あったら何もしない)
			if ($('#pt-subpages-child')[0].style.display == 'none'){
				$('#pt-subpages-child')[0].style.display = 'block';
			} else {
				$('#pt-subpages-child')[0].style.display = 'none';
			}
		}
	});
	$('#pt-subpages').on('mouseleave', function(e) {
		$('#pt-subpages').removeClass('pt-hover'); // フラグの後始末
		$('#pt-subpages-child')[0].style.display = 'none';
	});
	// 「サブ頁」のリンクは押されても何もしない
	$('#pt-subpages > a').on('click', function(e) {
		e.preventDefault();
	});
	
	// 代わりに、元からあった[[User:Atmark-chan/sandbox]]へのリンクを削除
	$("#pt-sandbox").remove();
}
// jawp 以外、かつ #pt-sandbox がない
else if (document.getElementById('pt-sandbox') === null) {
	mw.util.addPortletLink(
		"p-personal", // 個人用ツールバーのID
		"/wiki/User:Atmark-chan/sandbox", // リンク先URL
		"下書き", // 表示文字列
		"pt-sandbox", // 追加する項目のID(省略可)
		"サンドボックス", // 項目のツールチップ(省略)
		null, // (省略)
		"#pt-preferences" // 項目を追加する場所のID(個人設定)
	);
}