MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Markierungen: Manuelle Zurücksetzung Zurückgesetzt |
Markierung: Manuelle Zurücksetzung |
||
| Zeile 3: | Zeile 3: | ||
'use strict'; | 'use strict'; | ||
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () { | |||
// 1) Eigenes Portlet (Sidebar-Block) anlegen – vor "Werkzeuge" (p-tb), sonst an "Navigation" | |||
var nextTo = document.getElementById('p-tb') ? '#p-tb' : | |||
( document.getElementById('p-navigation') ? '#p-navigation' : null ); | |||
var portletId = 'p-newpages'; | |||
var portletNode = mw.util.addPortlet( portletId, 'Neueste Beiträge', nextTo ); | |||
if ( !portletNode ) { | |||
console.warn('[NewPages] Konnte Portlet nicht erstellen.'); | |||
return; | |||
} | |||
var api = new mw.Api(); | |||
api.get({ | |||
action: 'query', | |||
list: 'recentchanges', | |||
rctype: 'new', | |||
rcprop: 'title|timestamp', | |||
rcnamespace: 0, // nur Artikelnamensraum | |||
rcshow: '!bot|!redirect', // Bots & Weiterleitungen ausblenden | |||
rclimit: 3, | |||
format: 'json' | |||
}).done(function (data) { | |||
var items = (data.query && data.query.recentchanges) || []; | |||
if (!items.length) { | |||
mw.util.addPortletLink(portletId, mw.util.getUrl('Special:NewPages'), 'Keine neuen Seiten'); | |||
return; | |||
} | } | ||
// 2) Einträge hinzufügen | |||
for (var i = 0; i < items.length; i++) { | |||
var rc = items[i]; | |||
var href = mw.util.getUrl(rc.title); | |||
var tip = new Date(rc.timestamp).toLocaleString('de-DE', { dateStyle: 'medium', timeStyle: 'short' }); | |||
mw.util.addPortletLink(portletId, href, rc.title, null, tip); | |||
} | |||
// 3) Abschluss-Link: alle neuen Seiten | |||
mw.util.addPortletLink( | |||
portletId, | |||
mw.util.getUrl('Special:NewPages'), | |||
'Alle neuen Seiten →', | |||
'newpages-more', | |||
'Zur vollständigen Liste' | |||
); | |||
}).fail(function (err) { | |||
console.error('[NewPages] API-Fehler:', err); | |||
mw.util.addPortletLink(portletId, '#', 'Fehler beim Laden'); | |||
}); | }); | ||
}); | }); | ||
})(); | })(); | ||
Version vom 7. November 2025, 18:56 Uhr
/* global mw, $ */
(function () {
'use strict';
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {
// 1) Eigenes Portlet (Sidebar-Block) anlegen – vor "Werkzeuge" (p-tb), sonst an "Navigation"
var nextTo = document.getElementById('p-tb') ? '#p-tb' :
( document.getElementById('p-navigation') ? '#p-navigation' : null );
var portletId = 'p-newpages';
var portletNode = mw.util.addPortlet( portletId, 'Neueste Beiträge', nextTo );
if ( !portletNode ) {
console.warn('[NewPages] Konnte Portlet nicht erstellen.');
return;
}
var api = new mw.Api();
api.get({
action: 'query',
list: 'recentchanges',
rctype: 'new',
rcprop: 'title|timestamp',
rcnamespace: 0, // nur Artikelnamensraum
rcshow: '!bot|!redirect', // Bots & Weiterleitungen ausblenden
rclimit: 3,
format: 'json'
}).done(function (data) {
var items = (data.query && data.query.recentchanges) || [];
if (!items.length) {
mw.util.addPortletLink(portletId, mw.util.getUrl('Special:NewPages'), 'Keine neuen Seiten');
return;
}
// 2) Einträge hinzufügen
for (var i = 0; i < items.length; i++) {
var rc = items[i];
var href = mw.util.getUrl(rc.title);
var tip = new Date(rc.timestamp).toLocaleString('de-DE', { dateStyle: 'medium', timeStyle: 'short' });
mw.util.addPortletLink(portletId, href, rc.title, null, tip);
}
// 3) Abschluss-Link: alle neuen Seiten
mw.util.addPortletLink(
portletId,
mw.util.getUrl('Special:NewPages'),
'Alle neuen Seiten →',
'newpages-more',
'Zur vollständigen Liste'
);
}).fail(function (err) {
console.error('[NewPages] API-Fehler:', err);
mw.util.addPortletLink(portletId, '#', 'Fehler beim Laden');
});
});
})();