MediaWiki‐ノート:Common.js

From Wikipedia, the free encyclopedia

記事名チェック機能についての議論は/記事名チェッカで行っています。


記事名チェッカ廃止提案のお知らせ

MediaWiki‐ノート:Common.js/記事名チェッカ#廃止提案にて、記事名チェッカの廃止を提案しています。--ネイ会話) 2021年9月25日 (土) 16:33 (UTC)

editintroのためのコード

Infoboxが設置されていることを検知(正確にはInfobox内にあるCSSクラスを検知)してeditintroを選択するコードが追加されたようです。対象のInfobox専用のカテゴリや隠しカテゴリを作り、Infoboxにそれを含めることで、カテゴリを検知するコードだけで済ませることはできないでしょうか。JavaScriptコードはできるだけ単純なほうがいいと思います。

他に、IDを検知するコードがありますが、こちらは実際に使われているのでしょうか。--whym会話) 2025年4月21日 (月) 03:12 (UTC)

コメント &editintro=のクエリパラメータは1つしか追加できないので、検知順序に気を払う必要はありますが、カテゴリ検知への一本化でも反対しません。IDの検知コードは前回の更新以前からありましたが、現在使われている形跡はなく、同じテンプレートが複数回同じページ上で参照読み込みされた場合、HTMLに同一IDが2つ以上追加されるという問題もあるのでこちらは除去でもいいと思います。 --Dragoniez (talk) 2025年4月29日 (火) 08:29 (UTC)
リファクタリングしたコードを置いておきます。(Common.jsといえども、もうES5縛りである必要はありませんよね?)
/**
 * Magic editintros
 *
 * Appends `&editintro=Template:hogehoge` to the query parameters of edit links
 * on the page dynamically, referring to the categories that the page belongs to.
 */
if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) {

	/**
	 * @param {string} title The template title without a namespace prefix.
	 */
	const addEditIntro = ( title ) => {
		$( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( _, el ) {
			el.href = $( this ).attr( 'href' ) + '&editintro=' + mw.util.wikiUrlencode( 'Template:' + title );
		});
	};

	/**
	 * Mapping from category titles to template titles to use for editintro (both
	 * with no namespace prefix).
	 *
	 * Note: Currently, MediaWiki supports addition of only one editintro, since query
	 * parameters must be unique (see also [[phab:T390419]]). The order of registration
	 * in this Map object determines which editintro should be prioritized than another.
	 *
	 * @type {Map<string, string>}
	 */
	const editintroMap = new Map( [
		['存命人物', 'BLP editintro'],
		['Youtube personality', 'Infobox YouTube personality editintro'],
		['学校記事', '学校記事 editintro'],
		['鉄道車両関連', 'RRS editintro']
	] );
	const categories = new Set( mw.config.get( 'wgCategories' ) );

	$( function () {
		for ( const [ cat, temp ] of editintroMap ) {
			if ( categories.has( cat ) ) {
				addEditIntro( temp );
				return;
			}
		}
	} );

}
--Dragoniez (talk) 2025年5月6日 (火) 12:48 (UTC)
変更案をありがとうございます。短くなるようですし、私からは異論ありません。--whym会話) 2025年6月8日 (日) 06:57 (UTC)
反映させました。 --Dragoniez (talk) 2025年6月29日 (日) 09:38 (UTC)

mw-collapsible-textの文字色設定追加の相談

私の知識では変更による挙動を予測できないので自信をもって提案はできないのですが、設定追加の相談をさせてください。

Navbox右上の折り畳み表示(「表示/隠す」)のボタンの青い文字が、カスタムの背景色設定によっては見づらく、けっこうな数のテンプレートで見づらい状態です。2023年10月にTemplate:中日ドラゴンズが見づらい!とTemplate‐ノート:Navboxにコメントがありましたが、現在も解消されていません。

このボタンはclass="mw-collapsible-text"ですが、英語版テンプレートの表示を解析するとstyle="color:inherit"が指定されていて、おそらくCommon.jsの設定に依存しています。英語版Common.jsでは、この提案に基づいて変更されています。同じCommon.jsの変更で、上記の問題は解決できるでしょうか? --Peka会話) 2026年4月24日 (金) 20:01 (UTC)

(追記)やや説明が足りませんでした。この「解決」は、(背景色/文字色のコントラストが適切に設計された)カスタムの文字色設定があれば折り畳みボタンにも反映できるようになることを指します。--Peka会話) 2026年4月24日 (金) 21:09 (UTC)

2023年よりphab:T333357での修正に起因する不具合ということで、Common.jsでの変更を先に適用しました。具体的には、Google Lighthouseでウィキペディアのページ品質を計測する際、「表示/隠す」ボタンが「アクセスできないリンク」として検出されるため、ボタンがa要素からbutton要素に変更されました。しかし、「表示/隠す」に親要素の文字色を適用させるCommon.jsのスクリプトはボタンがa要素であることに依存していたため、親要素の文字色が適用されない不具合が生じました。今回の修正は文字色の適用が要素の種類に依存しないよう変更した形になります。コメント依頼に追認提案を出しておきました。--ネイ会話) 2026年4月27日 (月) 05:13 (UTC)
変更していただき、ありがとうございます。Navboxのほか、鉄道等の経路図テンプレートでも文字色指定が反映されるようになったようです。--Peka会話) 2026年4月27日 (月) 10:20 (UTC)

特に不具合報告もなかったということで、今回の編集が追認されたものとみなします。--ネイ会話) 2026年5月7日 (木) 18:18 (UTC)

Related Articles

Wikiwand AI